Entity framework .Net MVC Linq查询

Entity framework .Net MVC Linq查询,entity-framework,linq,Entity Framework,Linq,在我的程序中,我有一个数据库和一个包含人员的表 每个人都有一套衣服,其中有一套布料。假设我想返回拥有含棉衣物的人数 我只想数一次,即使此人有不止一件含有棉花的衣服。 我尝试了以下方法和其他几种解决方案,但效果并不理想: if ((from p in context.Persons from c in p.Clothes from f in c.Fabrics select f.Name == "Cotton").Count(); { 选择所有衣服面料为棉质的人 选择所

在我的程序中,我有一个数据库和一个包含人员的表

每个人都有一套衣服,其中有一套布料。假设我想返回拥有含棉衣物的人数

我只想数一次,即使此人有不止一件含有棉花的衣服。

我尝试了以下方法和其他几种解决方案,但效果并不理想:

if ((from p in context.Persons
    from c in p.Clothes
    from f in c.Fabrics
    select f.Name == "Cotton").Count();
{ 
选择所有衣服面料为棉质的人


选择所有衣服面料为棉质的人。

您还可以在上面的代码中将
的位置
更改为
计数
。似乎有效!谢谢!你能详细解释一下箭头的意思吗?@CodeProg-看,你也可以在上面的代码中将
Where
更改为
Count
。似乎有效!谢谢!你能详细解释一下箭头的意思吗?@CodeProg-see和
var count = database.People
    .Where(p => p.Clothes.Any(c => c.Fabrics.Any(f => f.Name == "Cotton")))
    .Count();