C# 动态表名
我的程序将查询一个数据库 它有3个表,都具有相同的结构: 表1、表2、表3 如何编写一个linq查询来查询这些表中的每个表,并动态指定表名 除此之外。如果向数据库中添加了其他表,则此解决方案必须有效。因此,即使在我编写代码时,table4不存在,它也可能会被添加。尝试以下方法:C# 动态表名,c#,.net,linq,linq-to-entities,C#,.net,Linq,Linq To Entities,我的程序将查询一个数据库 它有3个表,都具有相同的结构: 表1、表2、表3 如何编写一个linq查询来查询这些表中的每个表,并动态指定表名 除此之外。如果向数据库中添加了其他表,则此解决方案必须有效。因此,即使在我编写代码时,table4不存在,它也可能会被添加。尝试以下方法: DataSet s = new DataSet (); DataTable t1 = new DataTable (); t1.Columns.Add ("A", typeof (in
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;
DataSet s=新数据集();
DataTable t1=新的DataTable();
t1.Columns.Add(“A”,typeof(int));
t1.Columns.Add(“B”,类型(字符串));
s、 表.增加(t1);
t1.Rows.Add(1,“t1”);
t1.Rows.Add(2,“t1”);
DataTable t2=新的DataTable();
t2.Columns.Add(“A”,typeof(int));
t2.Columns.Add(“B”,类型(字符串));
s、 表.增加(t2);
t2.增加(1,“t2”);
t2.Rows.Add(2,“t2”);
t2.增加(3,“t2”);
var result=从类型()的s.Tables.OfType中的t开始
从t.Rows.OfType()中的r开始
选择r;
是否可以创建一个表名数组,然后从中提取(即,在表名数组中使用foreach,然后使用数组中的该元素作为名称运行该查询)?。YMMV。祝你好运。如果所有的表都有相同的结构,为什么不只有一个表,用一个额外的列表示记录的“类型”(以前表示记录属于哪个表)?然后您就可以在LINQ查询的where子句中指定记录“type”。恐怕添加的行会减慢查询的速度否?