Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ查询以获取连接记录的计数_C#_Linq - Fatal编程技术网

C# LINQ查询以获取连接记录的计数

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 {

有人能帮我写一个LINQ查询来获取加入的记录吗?下面我有两个模型。我想获得属于给定项目并有一个或多个ProjectTest加入其中的需求计数

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());