簡體   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