DataTables - 可配置查询

时间:2014-11-21 08:57:21

标签: c# tsql configuration datatable

我从两个不同的来源收集了数据,例如:来自在线资源和本地数据库。这些来源的结果分别存储在自己的System.Data.DataTable对象(平面结构)中。

我希望能够使用我可以在App.Config中配置的连接查询来查询这些源。如何实现这一目标?

DataTable dtPublicCompanyBlacklist包含以下列:

id 
name

DataTable dtMyCompanyCustomerSource包含以下列:

id 
salesTotal
e-mail

我希望能够写出如下的内容(如string):

select a.name, b.salesTotal, b.e-mail 
from dtPublicCompanyBlacklist a, dtMyCompanyCustomerSource  b 
where a.id = b.id

应用程序的用户应该能够修改查询而无需重新编译源代码。我还没有发现Linq可以像这样使用。

1 个答案:

答案 0 :(得分:0)

请在下面找到示例。您可以使用linq查询来完成。

var result = from dataRows1 in table1.AsEnumerable()
             join dataRows2 in table2.AsEnumerable()
             on dataRows1.Field<string>("ID") equals dataRows2.Field<string>("ID")
             select dtResult.LoadDataRow(new object[]
             {
                dataRows1.Field<string>("ID"),
                dataRows1.Field<string>("name"),
                dataRows2.Field<int>("stock")
              }, false);