首页 > 代码库 > 2016.1.22 利用LINQ实现DataSet内多张DataTable关联查询操作(目前未发现太大价值)

2016.1.22 利用LINQ实现DataSet内多张DataTable关联查询操作(目前未发现太大价值)

DataSet ds = new DataSet();

            DataTable t1 = DBFactorySingleton.GetInstance().Factory.GetDataTable(sql_ndp).Copy();

            t1.TableName = "t1";

            DataTable t2 = DBFactorySingleton.GetInstance().Factory.GetDataTable(sql_naip).Copy();

            t2.TableName = "t2";

            ds.Tables.Add(t1);

            ds.Tables.Add(t2);

 

            var restable =

                from f1 in ds.Tables[0].AsEnumerable()

                from f2 in ds.Tables[1].AsEnumerable()

                where f1.Field<string>("类型") + f1.Field<string>("名称") + f1.Field<string>("识别") == f2.Field<string>("类型") + f2.Field<string>("名称") + f2.Field<string>("识别")

                //where f1.Field<string>("类型") + f1.Field<string>("名称")=="VOR_DME英德"

                select new

                {

                    c1 = f1.Field<string>("源"),

                    c2 = f1.Field<string>("类型"),

                    c3 = f1.Field<string>("名称"),

                    c4 = f1.Field<string>("识别"),

                    c5 = f1.Field<string>("磁差"),

                    c6 = f1.Field<string>("坐标"),

                    c7 = f1.Field<string>("频率"),

                    c8 = f1.Field<string>("波道"),

                    c9 = f1.Field<string>("天线高"),

                    c10 = f1.Field<string>("强制报告")

                };

            gdc_pmatch.DataSource = restable.ToArray();

2016.1.22 利用LINQ实现DataSet内多张DataTable关联查询操作(目前未发现太大价值)