C# LINQ查询以获取连接记录的计数
有人能帮我写一个LINQ查询来获取加入的记录吗?下面我有两个模型。我想获得属于给定项目并有一个或多个ProjectTest加入其中的需求计数C# LINQ查询以获取连接记录的计数,c#,linq,C#,Linq,有人能帮我写一个LINQ查询来获取加入的记录吗?下面我有两个模型。我想获得属于给定项目并有一个或多个ProjectTest加入其中的需求计数 public class ProjectTest { public int ProjectTestID { get; set; } public int ProjectID { get; set; } public String Objective { get; set; } public String Category {
public class ProjectTest
{
public int ProjectTestID { get; set; }
public int ProjectID { get; set; }
public String Objective { get; set; }
public String Category { get; set; }
public String SubCategory { get; set; }
public String Tags { get; set; }
public virtual ICollection<ProjectRequirement> ProjectRequirements { get; set; }
public virtual ICollection<ProjectTestStep> ProjectTestSteps { get; set; }
}
public class ProjectRequirement
{
public int ProjectRequirementID { get; set; }
public int ProjectID { get; set; }
[Display(Name = "Req No.")]
public String ProjectRequirementIDStr { get; set; }
[Display(Name = "Module")]
public String ModuleName { get; set; }
[Display(Name = "Description")]
public String Description { get; set; }
public virtual ICollection<ProjectTest> ProjectTests { get; set; }
}
当前,您正在统计具有给定id且至少有1个
ProjectTest
的ProjectRequirement
对象的数量
如果要计算给定projectd
的ProjectTest
数量:
var number = db.ProjectRequirements.Where(e => e.ProjectID == activeProjectID)
.Sum(e => e.ProjectTests.Count());
你不工作是什么意思?非预期输出?
.Count()>0
次优,请将其更改为。任何()
在计数之前执行选择
都是毫无意义的。您的意思是。其中(ept=>ept.ProjectTestID==…)
这是否有效?db.ProjectRequirements.Where(e=>e.projectd==activeprojectd&&e.ProjectTests.Count>0.Count();
var number = db.ProjectRequirements.Where(e => e.ProjectID == activeProjectID)
.Sum(e => e.ProjectTests.Count());