简体   繁体   English

来自多个表的实体框架不同记录

[英]Entity Framework Distinct records from multiple tables

I am trying to get distinct values by joining multiple tables. 我试图通过连接多个表来获得不同的值。 Can someone please tell me how to do the same in the below code? 有人可以告诉我如何在以下代码中执行相同的操作吗?

Please see the sample code below: 请参见下面的示例代码:

var distinctValues = (from a in dataContext.A_Table
                      join b in dataContext.B_Table on a.EmpID equals b.EmpID
                      join c in dataContext.C_Table on b.SomeID equals c.ID
                      where a.IsActive == true
                            && a.ID == id
                      select new NewClass()
                                 {
                                    ID = c.ID,
                                    Name = c.Name
                                 }).ToList();

Well this should work without many changes, though i would have wrote it entirely in expressions: 好吧,这应该不需要很多更改就可以工作,尽管我会完全用表达式写出来:

var distinctValues = (from a in dataContext.A_Table
                      join b in dataContext.B_Table
                      on a.EmpID equals b.EmpID
                      join c in dataContext.C_Table
                      on b.SomeID equals c.ID
                      where a.IsActive == true
                      && a.ID == id
                      select new NewClass()
                      {
                          ID = c.ID,
                          Name = c.Name
                      }).ToList()
                      .GroupBy(x=>new {ID = x.ID,Name = x.Name})
                      .Select(x=>new {ID = x.Key.ID,Name = x.Key.Name});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM