【发布时间】:2020-02-12 18:44:51
【问题描述】:
我是 Entity Framework Core 的新手,不知道如何翻译下面的 SQL 查询以使用 EF。以下是我的查询:
SELECT *
FROM Project
WHERE Project_Id IN(
SELECT Project_Id
FROM IP
GROUP BY Project_Id
HAVING COUNT(Project_Id)<= 2
)
我尝试了下面的脚本,但返回了项目表中的所有记录。
var projs = _context.Project
.FromSqlRaw("SELECT * FROM Project WHERE Project_Id IN(SELECT Project_Id FROM IP GROUP BY Project_Id HAVING COUNT(Project_Id)<= 2)")
.ToList();
感谢任何帮助!
【问题讨论】:
-
旁注:如果您在跨表查询时使用 EXISTS 或 JOIN 而不是 IN,通常会获得更高性能的查询计划。
标签: c# sql .net entity-framework