我刚开始从事一个需要 . 的项目Linq to Sql
,并且我已经能够进行查询和检索数据。但是现在我需要DataTable
用我正在检索的数据填充 a 。
我的第一个代码如下:
MyDatabase db = new MyDatabase();
var query = from cust in db.Customers
where cust.CustomerName != "Dante"
orderby cust.CustomerName
select new { Name = cust.CustomerName };
因此,由于我需要将查询的内容复制到 aDatatable
我尝试了这个:
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>();
然后,我的代码如下所示:
IEnumerable<DataRow> myQuery = from cust in db.Customers.AsEnumerable()
where cust.Name != "Dante"
orderby cust.Name
select new { Name = cust.Name };
DataTable myDataTable = myQuery.CopyToDataTable<DataRow>();
但是使用此代码,编译器会引发错误:
Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<AnonymousType#1>' to 'System.Collections.Generic.IEnumerable<System.Data.DataRow>
错误是select
一言以蔽之。
那么,我做错了什么?我该怎么做才能避免这种转换问题?
希望有人可以帮助我,在此先感谢。