union 2 linq查询不同的datacontexts [英] union 2 linq queries with diferent datacontexts

查看:88
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆