第一次用linq,请教怎么把结果转化为datatable?
本帖最后由 rainxies 于 2012-11-08 21:03:00 编辑 我看到单独查一个table是可以的:
IEnumerable<DataRow> query =
from order in orders.AsEnumerable()
where order.Field<DateTime>("OrderDate") > new DateTime(2001, 8, 1)
select order;
DataTable boundTable = query.CopyToDataTable<DataRow>();
var query =
from order in orders.AsEnumerable()
join detail in details.AsEnumerable()
on order.Field<int>("SalesOrderID") equals
detail.Field<int>("SalesOrderID")
where order.Field<bool>("OnlineOrderFlag") == true
&& order.Field<DateTime>("OrderDate").Month == 8
select new
{
SalesOrderID =
order.Field<int>("SalesOrderID"),
SalesOrderDetailID =
detail.Field<int>("SalesOrderDetailID"),
OrderDate =
order.Field<DateTime>("OrderDate"),
ProductID =
detail.Field<int>("ProductID")
};
IEnumerable<DataRow> query = (from ee in dt1.AsEnumerable()
join n in dt2.AsEnumerable()
on ee.Field<string>("ENG_NAME") equals
n.Field<string>("ENG_NAME")
select new
{
id = ee.Field<Decimal>("ID"),
userName = ee.Field<string>("USER_NAME"),
location = n.Field<string>("LOCATION")
}) as IEnumerable<DataRow>;
DataTable dt3 = new DataTable();
DataTableExtensions.CopyToDataTable<DataRow>(query, dt3, LoadOption.PreserveChanges);
//dt3=query.CopyToDataTable<DataRow>();
DataTable dt3=query.CopyToDataTable<DataRow>();