我有以下结构,我不想使用Linq查询,特别是Linq to Entities(Enitity Framework)。
多个 SitePages 可以链接到相同的 RouteMeta 。
我查询Route Meta以选择多行。我正在使用通用存储库,目前是这样的:
return r.Find().ToList();
没有什么特别的 - 查找方法接受一个可选的linq表达式,所以我可以这样做:
return r.Find(x => x.Status=1).ToList();
但是,我真正想要做的是从RouteMeta中选择行,其中SitePages中至少存在一个链接行,其属性为IsPublished = true。
return r.Find(x => x.SitePages("where y => y.IsPublished = true");
显然,上述情况并不正确,我只是想更好地解释一下情景。
任何建议表示赞赏。
答案 0 :(得分:1)
return r.Find(x=>x.Sitepages.Any(y=>y.Published))
?
如果可能的话,我还建议使用分析器检查这是否正确转换为SQL。它可能应该这样做,但它取决于您的存储库的工作方式。