从 LINQ 查询结果集中填充 DataSet 或 DataTable

2023-12-22

如何将 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(使用前将#替换为@)

从 LINQ 查询结果集中填充 DataSet 或 DataTable 的相关文章

随机推荐