Tho*_*mas 3 linq-to-entities entity-framework
我正在使用Entity Framework 4并且遇到查询问题.
我有两个对象:
指令组件
在这些对象之间存在多对多关系.指令范围指向一个或多个组件.并且可以通过多个指令引用组件.
我试图获得有多少'完成'(状态= 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
Run Code Online (Sandbox Code Playgroud)
我在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() };
Run Code Online (Sandbox Code Playgroud)
但他的查询没有返回正确的计数.我不知道如何计算指令的数量.
这个怎么样?
var query = Components.Select(c => new
{
c.Id,
Count = c.Instructions.Count(i => i.Status == 6)
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4674 次 |
最近记录: |