EntityFramework group by linq 查询
Posted
技术标签:
【中文标题】EntityFramework group by linq 查询【英文标题】:EntityFramework group by linq query 【发布时间】:2015-02-16 14:44:40 【问题描述】:我有以下 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 对这些进行分组,这样我就不会得到重复的行。我该怎么做?
谢谢
【问题讨论】:
按account_type_id
分组就足够了,因为它是独一无二的(我希望如此)。
【参考方案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),并且组本身是 Account 对象的 IEnumerable
【讨论】:
以上是关于EntityFramework group by linq 查询的主要内容,如果未能解决你的问题,请参考以下文章
SQL CE 4 错误:ntext 和 image 数据类型不能在 WHERE、HAVING、GROUP BY、ON 或 IN 子句中使用