Sto tentando di creare una query compilata che può essere eseguita dal lato del database. L'idea è di creare una funzione riutilizzabile attraverso il mio codice. Ma EF Core continua a dire che questa query non può essere tradotta in sql.
Ecco l'
expression
riutilizzabile
public static class DisplayFilters
{
public static Expression<Func<DisplayItem, bool>> isActiveItem = (x) => x.IsDeleted == false;
}
Ecco la chiamata dell'entità EFCore
using df = namespace.DisplayFilters;
...
[HttpGet]
public IActionResult Get()
{
IEnumerable<DisplayItem> xItem = (from a in _context.DisplayItem.AsQueryable()
where df.isActiveItem.Compile()(a)
select a);
return Ok(xItem);
}
Non penso che tu possa incorporare Expression
tipo Expression
nella sintassi di comprensione delle query, ma puoi farlo nella sintassi lambda:
IEnumerable<DisplayItem> xItem = _context.DisplayItem
.Where(df.isActiveItem);