Como você expõe uma consulta LINQ como um serviço da Web ASMX? Normalmente, na camada de negócios, posso retornar um tipo digitado DataSet
ou DataTable
que pode ser serializado para transporte no ASMX.
Como posso fazer o mesmo para uma consulta LINQ? Existe uma maneira de preencher uma consulta digitada DataSet
ou DataTable
via 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;
}
Como posso obter o conjunto de resultados de uma consulta LINQ em um DataSet
ou DataTable
? Como alternativa, a consulta LINQ é serializável para que eu possa expô-la como um serviço da Web ASMX?