Linq之多表查询

博客围绕Linq多表查询展开,虽未提供具体内容,但可知聚焦于信息技术领域中Linq在多表查询方面的应用,能帮助开发者处理多表数据关联等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

            DBManager db = new DBManager();
            DataTable dt = db.Query("select * from T_User");
            DataTable dtUserInfo = db.Query("select * from t_userInfo");
            var query = from val in dt.AsEnumerable() select val;
            query = query.Where(val => val.Field < Int32 >("id")> 10);
            foreach (var item in query)
            {
                Console.WriteLine(item.Field<Int32>("id").ToString()+"---"+item.Field<string>("name")+"---"+item.Field<string>("pwd"));
            }

            var query2 = from val in dt.AsEnumerable()
                         from val2 in dtUserInfo.AsEnumerable()
                         where val.Field<int>("id")==val2.Field<int>("id")
                         select new {Name= val.Field<string>("name").ToString(),realName=val2.Field<string>("realName").ToString() };

            foreach (var item in query2)
            {
                Console.WriteLine(item.Name + "------" + item.realName);
            }

            var query3 = from val in dtUserInfo.AsEnumerable()
                         select val.Field<int>("id");
            
            foreach (var item in query3)
            {
                Console.WriteLine(item);
            }

            var query4 = from val in dt.AsEnumerable()
                         where query3.Contains(val.Field<int>("id"))
                         select val;
            foreach (var item in query4)
            {
                Console.WriteLine(item.Field<int>("id") + "------" + item.Field<string>("name") + "--------");
            }
            Console.WriteLine("query5查询结果");
            var query5 = from val in dt.AsEnumerable()
                         where val.Field<int>("id")>10
                         select val;
            DataTable dtTemp = query5.CopyToDataTable();//复制表的方法
            foreach (DataRow dr in dtTemp.Rows)
            {
                Console.WriteLine(dr["id"]);
            }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值