如何将 LINQ 查询公开为 ASMX Web 服务?
通常,从业务层,我可以返回一个类型化的 DataSet
或 DataTable
,它们可以通过 ASMX 进行序列化传输。
如何对 LINQ 查询执行同样的操作?
有没有办法通过 LINQ 查询来填充类型化的 DataSet
或 DataTable
?
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;
}
如何将 LINQ 查询的结果集放入 DataSet
或 DataTable
?
或者,LINQ 查询是否可以序列化,以便我可以将它作为 ASMX Web 服务公开?