Ho una tabella EVENTI e CATEGORIA. Un evento può avere più di una categoria associata. Quindi è uno a molti.
Quando provo a filtrare la tabella CATEGORY viene visualizzato l'errore ArgumentException: L'espressione di proprietà i => i.Category.CategoryName.Contains("Social")
non è valida. L'espressione dovrebbe rappresentare un accesso alla proprietà: t => t.MyProperty
. Per ulteriori informazioni sull'inclusione dei dati correlati, consultare Caricamento dei dati correlati .
Ecco il mio codice
var viewModel = new EventIndexData();
viewModel.Events = await _context.Events
.Include(i => i.Categories)
.ThenInclude(i => i.Category.CategoryName.Contains("Social"))
.AsNoTracking()
.ToListAsync();
ogni aiuto è apprezzato!
È necessario prima creare una query e aggiungere una condizione:
var categoryName = "Social";
var query = _context.Events.Include(i => i.Category);
if (String.IsNullOrEmpty(categoryName))
{
query = query.Where(item => item.Category.CategoryName.Contains(categoryName));
}
var viewModel = new EventIndexData();
viewModel.Events = await query.ToListAsync();
Non sono sicuro del nome degli oggetti, ma puoi correggere il tuo codice.