如何在不使用Join in Entity Framework MVC的情况下组合两个表对象?

时间:2018-03-23 07:41:15

标签: entity-framework

我正在使用实体框架 - 代码第一种方法。我想加入两个表来获取数据。我在SQL中找到了查询。但我在实体框架中努力构建该查询。

这是Sql查询:

群组表: GroupID名称ParentID 1 xxx 5 2 yyy 5 3 zzz 10

全球数据表:

RegionID名称ParentID 1印度5 2爱尔兰10 3奥地利10

从应用程序我只能传递RegionID这是Global Table。对于该地区,我必须采取群组名称。但是Groups表只有ParentID。

从全局g,群组p中选择p.Name,其中p.RegionID = g.ParentID和g.RegionID = 2

以下是实体框架代码:

model.Groups = new SelectList(_unitOfWork.GroupRepository.GetWithNoTracking()," GroupId"," Name",model.GroupID);

上面的EF使用一个存储库作为Groups表。现在我想与Global Repository结合使用。

如果我在sql查询中使用Join,则无法获得正确的数据。获得更多记录。所以,请帮助我在不使用JOIN子句的情况下找出EF查询。

此致 Vanmathi

1 个答案:

答案 0 :(得分:0)

试试这个lambda表达式

var RegionNames = _unitOfWork.GlobalRepository .Where(g=>g.RegionId==2) .SelectMany(g=>g.Groups.Select(r=>r.Name))

这里将选择所有对应的Global.RegionID = 2

的Group.Name记录

让我知道你的需要或其他任何东西...... 这是您提供的SQL查询的表示... 很乐意提供帮助。