Comment exposer une requête LINQ en tant que service Web ASMX? Habituellement, à partir du niveau de l'entreprise, je peux retourner un DataSet
typé ou DataTable
qui peut être sérialisé pour le transport sur ASMX. Comment faire la même chose pour une requête LINQ?Remplissage d'un DataSet ou DataTable à partir d'un ensemble de résultats de requête LINQ
Existe-t-il un moyen de renseigner un DataSet
tapé ou DataTable
via une requête LINQ?
public static MyDataTable CallMySproc()
{
string conn = "...";
MyDatabaseDataContext db = new MyDatabaseDataContext(conn);
MyDataTable dt = new MyDataTable();
// execute a sproc via LINQ
var query = from dr
in db.MySproc().AsEnumerable
select dr;
// copy LINQ query resultset into a DataTable -this does not work !
dt = query.CopyToDataTable();
return dt;
}
Comment puis-je obtenir le jeu de résultats d'une requête LINQ dans un DataSet
ou DataTable
? Sinon, la requête LINQ est-elle sérialisable pour que je puisse l'exposer comme un service Web ASMX?
Pour tout le monde se demandant pourquoi CopyToDataTable() ne fonctionne pas sur leur machine: Cette fonction ne fait pas partie de .NET 3.5 SP1 et ne sera pas de .NET 4.0; il a été restreint à IEnumerable et ne fonctionne pas pour IEnumerable - http://bit.ly/dL0G5 –
motto