Sql 如何在实体框架中使用GROUPBY和Having count子句
我不熟悉Sql 如何在实体框架中使用GROUPBY和Having count子句,sql,entity-framework,Sql,Entity Framework,我不熟悉实体框架,我正在尝试将SQL查询转换为实体框架。但是我无法转换having子句 SQL查询是: select tblRecordingType_ID from tblEquipmentReadingTypes group by tblRecordingType_ID having count(tblRecordingType_ID) > 0 我写了以下EFquery: var items = from o in context.tblEquipmentReadingTypes
实体框架
,我正在尝试将SQL
查询转换为实体框架
。但是我无法转换having
子句
SQL查询是:
select tblRecordingType_ID
from tblEquipmentReadingTypes
group by tblRecordingType_ID
having count(tblRecordingType_ID) > 0
我写了以下EF
query:
var items = from o in context.tblEquipmentReadingTypes
group o by o.tblRecordingType_ID
请让我知道,我如何将having
子句与此连用
谢谢您可以在
分组后使用where
,并使用进入
状态:
var items = from o in context.tblEquipmentReadingTypes
group o by o.tblRecordingType_ID into g
where g.Count() > 0
select g;
这:
相当于:
select tblRecordingType_ID
from tblEquipmentReadingTypes
where tblRecordingType_ID is not null
group by tblRecordingType_ID
因此,您可以在linq
中编写类似的内容:
var items = from o in context.tblEquipmentReadingTypes
where o.tblRecordingType_ID != null
group o by o.tblRecordingType_ID into grouped
select grouped.Key
可能会有帮助这并不是真正等价的:(如果他们想要计数>1怎么办?对于这个特定的情况(计数>0)您的解决方案将提供相同的结果,但并不意味着它们是等效的。这相当于将count>x
子句组合在一起的group by
和的结果,应该是可接受的答案。我同意–Alisson。这应该是可接受的答案
var items = from o in context.tblEquipmentReadingTypes
where o.tblRecordingType_ID != null
group o by o.tblRecordingType_ID into grouped
select grouped.Key