gpt4 book ai didi

entity-framework - 计数 + 分组依据 + 哪里

转载 作者:行者123 更新时间:2023-12-04 08:33:42 27 4
gpt4 key购买 nike

我正在使用 Entity Framework 4,但遇到查询问题。

我有两个对象:

使用说明组件

这些对象之间存在多对多关系。 Instruction van 指向一个或多个组件。并且一个组件可以被多个指令引用。

我正在尝试获取每个组件有多少“已完成”(状态 = 6)指令。

在 SQL 中这很容易:

select c.id, COUNT(*)
from Component c
inner join InstructionComponents ic on c.Id = ic.Component_Id
inner join Instructions i on i.Id = ic.Instruction_Id
where i.StatusValue = 6
group by c.id

我在 EF 中执行此操作时遇到问题。这是我试过的:

var result =
from component in Copmponents
where component.Instructions.Any(s => s.Status == 6)
group component by component.Id
into componentGroup
select new { compId = onderdeelGroup.Key, count = componentGroup.Count() };

但是他的查询没有返回正确的计数。我不知道如何计算指令数。

最佳答案

这个怎么样?

var query = Components.Select(c => new 
{
c.Id,
Count = c.Instructions.Count(i => i.Status == 6)
});

关于entity-framework - 计数 + 分组依据 + 哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3226947/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com