PDA

View Full Version : [C#] interazione web service e SQL


Maxti
18-05-2011, 15:28
Ciao a tutti, mi piacerebbe avere qualche consiglio su come implementare al meglio un web service che si interfaccia con sql server. Mi spiego: ho la necessità di creare un web service che deve esporre dei metodi via soap quali insert/update/select ecc interfacciandosi con sql server. L'idea è che ogni client che acceda al servizio possa ricevere dei custom object per facilitare la comunicazione tenendo conto che al servizio accederanno anche applicativi non .net. L'idea era quella di creare una classe per ogni tabella di sql.
Le alternative che mi vengono in mente sono:

Effettuare un mapping manuale tra tabella e classe ed utilizzare sqlcommand per aggiornare il db


Utilizzare i dataset per facilitare l'accesso al db


Utilizzare sqlmetal ma dovrei comunque manualmente aggiungere il datacontract


Quale sarebbe la strada migliore ?

grazie

giangian2
18-05-2011, 15:35
Ciao,
se utilizzi il framework 4.0 potresti utilizzare i WCF Data Service che sono basati sul protocollo ODATA.
Puoi cosi esporre direttamente tutto il tuo layer di accesso dati Entity Framework o Linq to SQL.

Qui (http://www.odata.org/) trovi il sito del protocollo ODATA con la documentazioni. Ci son anche dei servizi a disposizione per effettuare dei test (lato client).
Per fare qualche prova (sempre lato client) ti consiglio di provare LinqPAD, con qui puoi consumare un servizio ODATA ed eseguire tutte le query in sintassi C#.

Marco

Maxti
19-05-2011, 14:02
Ok, grazie, però volevo cercare di utilizzare un modello che sia anche compatibile con applicazioni non .net. Mi sarebbe piaciuto automatizzare il flusso tabella del db->classe specifica e via wcf esporre dei metodi che utilizzino custom object.