由linq查询的EntityFramework组

时间:2014-12-17 22:23:34

标签: c# linq linq-to-entities entity-framework-6

我有以下2个表格:

Account
----------
account_id **PK**
account_name
account_type_id **FK** 

Account_Type
-------------
account_type_id **PK (FK in account table)**
account_type_name
account_type_reference

使用实体框架我试图得到这样的结果:

DbSet.Where(Account => Account.Account_Type.account_type_name == 'type1').ToList());

但是我不知道如何将group by添加到此语句中。我想通过Account_Type_id,Account_type_name,Account_type_reference对这些进行分组,因此我不会获得重复的行。我怎么能这样做?

由于

1 个答案:

答案 0 :(得分:1)

您可以使用Linq GroupBy函数添加分组:

DbSet.Where(Account => Account.Account_Type.account_type_name == "type1")
    .GroupBy(x => x.Account_Type.account_type_id).ToList();

然后你最终得到一个群组列表。然后每个组都有Key(account_type_id),组本身就是一个IEnumerable的Account对象