在我的存储库中,我尝试过滤具有事件变体的产品 但我不知道怎么做,因为这是第一次。 我应该退回所有有或没有事件变体的产品
public async Task<IEnumerable<Articolo>> GetArticoliByDivisioneAsync(string divisione)
{
return await _ctx.Articoli
.Where(a => a.Divisione == divisione
&& a.Category!= "001")
.Include(i => i.Varianti)
.Include(i => i.FotoArticoli)
.ToListAsync();
}
我要过滤的字段位于 Varianti
中。
怎么做.Where(v => v.Active == 1)
?
最佳答案
只需将过滤器添加到 where
方法
public async Task<IEnumerable<Articolo>> GetArticoliByDivisioneAsync(string divisione)
{
return await _ctx.Articoli
.Where(a => a.Divisione == divisione
&& a.Category!= "001"
&& a.Varianti.Any(v=>v.Active == 1))
.Include(i => i.Varianti)
.Include(i => i.FotoArticoli)
.ToListAsync();
}
如果您不需要 Varianti
的值,您可以删除包含部分
public async Task<IEnumerable<Articolo>> GetArticoliByDivisioneAsync(string divisione)
{
return await _ctx.Articoli
.Where(a => a.Divisione == divisione
&& a.Category!= "001"
&& a.Varianti.Any(v=>v.Active == 1))
.Include(i => i.FotoArticoli)
.ToListAsync();
}
关于c# - 过滤导航属性 EF core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55199652/