我有以下代码:
IsServiceable = _context.Review.Any(r => r.SiteId == x.Id) ? _context.Review.All(r => r.SiteId == x.Id && r.IsValid == true) : true
但是你可以看到它没有效果,因为我试图在同一行中访问数据库两次。
我需要编写单个查询(LINQ TO ENTITY)来检查名为Reviews
的表
至少有一排
其中siteId=5
如果不是,则必须返回 true ,
如果table Reviews至少有一行,我需要检查一个名为isValid
的布尔列if,至少有一行siteId=5
和isValid
列是false
我需要返回false
。
答案 0 :(得分:2)
我相信您的解决方案在于,只有在一种情况下您需要返回 false - 其他所有内容都返回 true 。因此,如果您找到sideId = 5且isValid = false的一行,则返回false。否则,返回true。根据您的代码,我建议如下:
IsServiceable = _context.InspectionReview.Any(r => r.SiteId == x.Id && r.isValid == false) ? false : true;
答案 1 :(得分:0)
您很可能拥有导航属性,因此您可以尝试
from toto.spiders import runSpider