繁体   English   中英

在子列表LINQ实体框架中过滤

[英]Filter in child list LINQ Entity Framework

我有列表功能在侧面包含列表语言

我想用条件CulNo = "en"过滤该列表语言。

这是我的代码:

var functionLang = 
    functionVm.Where(x => x.Language.Any(y => y.LanguageCountry.CulNo == cul));

但是它仍然返回所有语言。 如何使用列表功能过滤具有符合条件的列表语言?

假设您有一种语言,该语言的属性FunctionViewModel链接到其父级(类型:FunctionViewModel)

var functionLang = language.Include(l=>l.FunctionViewModel)
.Where(l=>l.LanguageCountry.CulNo == cul)
.Select(l=>l.FunctionViewModel)
.Distinct()
.ToList();

并且它将仅包含具有语言属性并且仅具有英语的FunctionViewModels。

EF核心还没有包含过滤器支持

您可以尝试使用匿名投影进行过滤

var langs = language
           .Select(g=> new 
           {
             g =  g.Language.where(y => y.LanguageCountry.CulNo == cul)
           }).ToList();

过滤子实体参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM