union 2 linq查询不同的datacontexts [英] union 2 linq queries with diferent datacontexts
本文介绍了union 2 linq查询不同的datacontexts的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
i有2个linq数据类连接2个具有相同字段和表但不同别名的数据库。
i希望使用union和来自我的两个数据库的2个查询。
我该怎么做?
我的代码是:
Hi,
i have 2 linq dataclasses connecting 2 DBs with same fields and tables but different aliases.
i want to use union with 2 queries from both of my DBs.
how can i do that?
my code is:
var q1 = from t1 in db1.tbTeacher1s
select new
{
tId = t1.tId1,
tFullName = t1.tName1 + " " + t1.tFamily1,
Branch = 1
};
var q2 = from t2 in db2.tbTeacher2s
select new
{
tId = t2.tId2,
tFullName = t2.tName2 + " " + t2.tFamily2,
Branch = 2
};
var q3 = (q1).Union(q2);
rptTeachers.DataSource = q3;
rptTeachers.DataBind();
推荐答案
使用以下代码:
Use the below code:
public class UnionObjects
{
public static void Main(string[] args)
{
DataTable dt = new DataTable();
dt.Columns.Add("Column1");
dt.Columns.Add("Column2");
DataRow dr = dt.NewRow();
dr["Column1"] = "Col Val -1";
dr["Column2"] = "Col2 Val -1";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Column1"] = "Col Val -2";
dr["Column2"] = "Col2 Val -2";
dt.Rows.Add(dr);
DataTable dtc = dt.Clone();
dr = dtc.NewRow();
dr["Column1"] = "Col Val -3";
dr["Column2"] = "Col2 Val -3";
dtc.Rows.Add(dr);
dr = dtc.NewRow();
dr["Column1"] = "Col Val -4";
dr["Column2"] = "Col2 Val -4";
dtc.Rows.Add(dr);
dt.AcceptChanges();
dtc.AcceptChanges();
var query1 = from row in dt.AsEnumerable()
select row;
var query2 = from row in dtc.AsEnumerable()
select row;
IEnumerable<DataRow> rowCollection = query1.Union(query2);
DataTable dtNew = dt.Clone();
foreach (DataRow row in rowCollection)
dtNew.ImportRow(row);
foreach (DataRow row in dtNew.Rows)
Console.WriteLine(string.Format("{0} -- {1}", row["Column1"].ToString(), row["Column2"].ToString()));
Console.Read();
}
}
谢谢
Thanks
这篇关于union 2 linq查询不同的datacontexts的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文