如何将 LINQ 查询公开为 ASMX Web 服务?
通常,从业务层,我可以返回一个键入的DataSet
or a DataTable
可以序列化以通过 ASMX 进行传输。
如何对 LINQ 查询执行相同的操作?
有没有办法填充类型DataSet
or a DataTable
通过 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;
}
如何将 LINQ 查询的结果集放入DataSet
or a DataTable
?
或者,LINQ 查询是否可以序列化,以便我可以将其公开为 ASMX Web 服务?
正如问题中提到的,IEnumerable
has a CopyToDataTable
method:
IEnumerable<DataRow> query =
from order in orders.AsEnumerable()
where order.Field<DateTime>("OrderDate") > new DateTime(2001, 8, 1)
select order;
// Create a table from the query.
DataTable boundTable = query.CopyToDataTable<DataRow>();
为什么这对你不起作用?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)