Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在实体框架中使用GROUPBY和Having count子句_Sql_Entity Framework - Fatal编程技术网

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