In my repository I try to filter the products with the variants active but I do not know how because is first time. I should return all products with or without variants active
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();
}
The field I want to filter on is in Varianti
.
How can do .Where(v => v.Active == 1)
?
Just add your filter to where
Method
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();
}
if you don't need the value of Varianti
you can remove include part
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();
}