繁体   English   中英

.Net + SQL: 将 SQL 服务器查询转换为 Linq (C#)

[英].Net + SQL: Convert SQL Server query to Linq (C#)

我正在处理一个或多或少复杂的 Linq 查询,我需要做一些应该是愚蠢和简单的事情,但今天我离开了。 我需要计算相关表中重复的 ID。

简而言之,我将仅在此处粘贴查询的相关部分是 SQL 格式。

我需要把它写在Linq中(我在问之前做了一些尝试没有成功,但不值得粘贴它们):

select 
    (select count(*)
        from ps p
        where p.finca_id = f.finca_id
       ) as ps_count, f.*
from finca f

好的,一些非常愚蠢的事情:

var q =
    from
        finca in db.finca

    select new FincaViewModel
    {
        whatever,
        pscount = finca.ps.Count()
    };

抱歉,如果我在问题中不清楚,但在我的 EF model “finca”实体中有一个“ps”实体元素的集合,我没有意识到。

编辑 1:

按照@Selvin 的建议删除了 Where :

已更换

pscount = finca.ps.Count()(ps => ps.finca_id == finca.finca_id)

经过

pscount = finca.ps.Count()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM