我有一个我的程序将查询的数据库。
它有3个表都具有相同的结构: table1,table2 table3
如何编写一个linq查询来查询每个表,并动态指定表名?
除此之外。如果将其他表添加到数据库,则此解决方案必须有效。所以,即使我写代码表4时不存在,也可能会被添加。
答案 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;