LINQ - 将LINQ select转换为DataTable

时间:2015-11-30 15:07:17

标签: c# .net linq dataset

我有一个类对数据进行一些验证。我想从不同的地方重用该类。 我不能改变那堂课。 它类似于:

public static List<string> Validate(DataTable CurrentMasterTable, Dictionary<string, string[]> LocalMasterRuleSet)
    {...}

就其自身而言,它运作得很好。

问题如下。从项目的另一个地方来看,要使用该类,我必须将它发送给DataTable对象,这样才能发挥它的魔力。

如何使用LINQ,在表格上进行选择并将其作为DataTable发送? 我有这个代码开头:

  var listOfSinglePropertyNames = (from x in dbContext.tbl_mytable.AsEnumerable()                                             select x);

        IEnumerable<tbl_mytable> query = listOfSinglePropertyNames;

如何将查询转换为DataTable对象?阅读其他帖子,我看到我应该使用CopyToDataTable();

但我没有取得任何成功。

1 个答案:

答案 0 :(得分:1)

使用LINQ数据表。根据您的需要调整此代码:

 // Query the SalesOrderHeader table for orders placed 
// after August 8, 2001.
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>();