菜的像徐坤
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

EF 实现两张表连接查询数据库

7766人阅读 2021/3/23 15:43 总访问:876684 评论:0 收藏:0 手机
分类: EF

还是很喜欢你,性情善良,待人真诚,像日光洒满天地,温柔惬意

//方法一(直接使用SQL语句)

linq查询

//方法二linq
//c,f 分别表示两张表的别名(根据 on 条件进行筛选)(多表查询再添加join接表名接条件,然后就可以点出需要显示的字段赋值就行了)
var database = from c in oaentities.Userchild
         join f in oaentities.Userfather on c.Fid equals f.Cid
            //匿名对象
         select new
         {
             c.sid,
             c.Username,
             f.Fathername
         };
         var joinfdatabase = database.ToList();

lamdba表达式join方法(连接的另外一张表,主表字段,附表字段,查询两张表需要显示的字段)
                           a表示上次查询的结果  b表示join的表名
(多表查询把上次查询的结果看成一张表,继续.join(表名,a=>a.ID,b=> b.userid),(a,b) new {    })

// 方法三(lamdba)  Join方法()
//a表示主表,b表示附表    LeftJoinDatabeseControlle是需要显示的字段的类(需要自己创建,因为系统生成的表的类不满足两张表需要显示的字段)
      var database = oaentities.Userchild.Join(oaentities.Userfather, a => a.Fid, b => b.Cid, (a, b) => new LeftJoinDatabeseController
          {
          //字段赋值
            sid = a.sid,
            Username = a.Username,
            Fathername = b.Fathername
                 
            }).ToList();
                      //数据传输到前台
         ViewBag.joinfdatabase = database;


评价