使用Entity Framework加入两个表

时间:2016-09-07 07:10:40

标签: entity-framework linq

表格详情:

登录

 Loginid    username
 -------------------
  1         a
  2         b
  3         c
  4         d
  5         e

个人

 Loginid    fname   lname
 ------------------------
  1         nitin   kumar
  2         pravin  kumar

我想要这样的结果:

  Loginid  username  fname   lname
  --------------------------------
    1        a       nitin   kumar   
    2        b       pravin   kumar
    3        c 
    4        d
    5        e  

但是当我使用join

var balance = (from a in dbContext.login
               join c in dbContext.Personal on a.loginid equals c.loginid
               select new { a, c }).ToList();

结果只显示两行

怎么做?

提前致谢

2 个答案:

答案 0 :(得分:1)

您可以尝试如下所示。

var balance = (from a in dbContext.login
               join c in dbContext.Personal on a.loginid equals c.loginid into lg
               from x in lg.DefaultIfEmpty()
               select new { a.Loginid,a.username,x.fname,x.lname
              }).ToList();

答案 1 :(得分:0)

使用左连接而不是连接。

例如: http://www.devcurry.com/2011/01/linq-left-join-example-in-c.html