C# 使用copyToDataTable将结果Linq到dataTable
我希望将Linq结果保存在数据集/数据表中。目前的问题是查询变量没有property copyToDataTable。我得到这个错误 类型“x.v_检查表”不能用作中的类型参数“T” 泛型类型或方法 'System.Data.DataTableExtensions.CopyToDataTable 这是我的密码C# 使用copyToDataTable将结果Linq到dataTable,c#,linq,datatable,dataset,C#,Linq,Datatable,Dataset,我希望将Linq结果保存在数据集/数据表中。目前的问题是查询变量没有property copyToDataTable。我得到这个错误 类型“x.v_检查表”不能用作中的类型参数“T” 泛型类型或方法 'System.Data.DataTableExtensions.CopyToDataTable 这是我的密码 protected void btnExcelCheckListDownload_Click(object sender, EventArgs e) { DataSet dsTes
protected void btnExcelCheckListDownload_Click(object sender, EventArgs e)
{
DataSet dsTest = new DataSet();
var db = new BillingEntities();
var query = (from u in db.v_Checklist select u).AsQueryable();
DataTable dt = query.CopyToDataTable();
dsTest.Tables.Add(dt);
ExcelLibrary.DataSetHelper.CreateWorkbook("MyExcelFile.xls", dsTest);
}
如何解决此问题?来自
该方法获取查询结果并将数据复制到DataTable中,DataTable随后可用于数据绑定。
但是,CopyToDataTable方法仅对IEnumerable进行操作
source其中泛型参数T的类型为DataRow。虽然这
是有用的,它不允许从
标量类型,来自投影匿名类型的查询,或来自
执行表联接的查询
这就是为什么不编写一些扩展就不能直接使用CopyToDataTable
链接主题描述了如何实现两个自定义的CopyToDataTable
扩展方法,它们接受类型不同于DataRow
的泛型参数T