查询数据集以使用LINQ过滤数据,而无需在动态填充的数据集中指定特定列

时间:2012-11-22 11:45:36

标签: c# linq linq-to-entities dataset linq-to-dataset

案例1

 DataSet oDsParent = new DataSet();
     DataTable odt = new DataTable();

     odt.Columns.Add(new DataColumn("DOC_GENO_KEY", typeof(int)));
     odt.Columns.Add(new DataColumn("RESOURCE_TYPE", typeof(string)));
     odt.Columns.Add(new DataColumn("ROUTING_SUB_ID", typeof(int)));

     odt.Rows.Add(2, "TEST1", 2);
     odt.Rows.Add(4, "ADMIN", 2);
     odt.Rows.Add(7, "TEST2", 2);

     oDsParent.Tables.Add(odt);
     oDsParent.AcceptChanges();

    string sTemp =new string ();
     sTemp = "(DOC_GENO_KEY = 4 OR DOC_GENO_KEY = 2) AND (RESOURCE_TYPE = 'TEST1' OR DOC_GENO_KEY = 2 OR ROUTING_SUB_ID = 2)";

案例2

 oDsParent = new DataSet();
     odt = new DataTable();
     odt.Columns.Add(new DataColumn("DOCUMENT_ATTACHED", typeof(string)));
     odt.Columns.Add(new DataColumn("ATTACHMENT TYPE", typeof(int)));

     odt.Rows.Add("DOC1", 2);
     odt.Rows.Add("DOC2", 1);
     odt.Rows.Add("DOC3", 0);

     oDsParent.Tables.Add(odt);
     oDsParent.AcceptChanges();

    sTemp = "(DOCUMENT_ATTACHED = 2 OR DOCUMENT_ATTACHED = 1 )";

数据集oDsParent是动态形成的 在案例1中,有3列及其各自的数据和数据。在案例2中,有2列数据。这些列根据相同数据集(oDsParent)中的条件动态填充,以便每次形成的列不同。我需要根据下面的字符串(sTemp)查询数据集,该字符串也会根据条件根据数据表进行更改。我不能在查询中使用字段(“列名称”),因为没有固定列,它们会动态更改。我需要一个LINQ,通常可以用来过滤数据集,无论根据各自的字符串创建哪些列。  我创建了一个数据集&的演示。字符串,以更好地了解我的问题。

0 个答案:

没有答案