动态表名称

时间:2011-05-11 18:27:10

标签: c# .net linq linq-to-entities

我有一个我的程序将查询的数据库。

它有3个表都具有相同的结构: table1,table2 table3

如何编写一个linq查询来查询每个表,并动态指定表名?

除此之外。如果将其他表添加到数据库,则此解决方案必须有效。所以,即使我写代码表4时不存在,也可能会被添加。

1 个答案:

答案 0 :(得分:1)

试试这个:

      DataSet s = new DataSet ();
      DataTable t1 = new DataTable ();
      t1.Columns.Add ("A", typeof (int));
      t1.Columns.Add ("B", typeof (string));
      s.Tables.Add (t1);
      t1.Rows.Add (1, "T1");
      t1.Rows.Add (2, "T1");

      DataTable t2 = new DataTable ();
      t2.Columns.Add ("A", typeof (int));
      t2.Columns.Add ("B", typeof (string));
      s.Tables.Add (t2);
      t2.Rows.Add (1, "T2");
      t2.Rows.Add (2, "T2");
      t2.Rows.Add (3, "T2");

      var result = from t in s.Tables.OfType<DataTable> ()
                   from r in t.Rows.OfType<DataRow> ()
                   select r;