Sto creando un servizio RESTful di ASP.NET Core supportato da Entity Framework e ho entità / modelli come Product, Document etc con descrizione in più lingue. Voglio essere in grado di interrogare dinamicamente i prodotti con documenti relativi fornendo le loro informazioni di base con le descrizioni tradotte (basate sulla cultura dell'interfaccia utente corrente impostata da intestazioni / cookie ecc.)
Purtroppo Include
di EF Core chiamato sulle proprietà di navigazione non può essere filtrato in questo modo:
_dbContext.Products
.Include(p => p.Documents,
d => d.Language.Equals(CultureInfo.CurrentUICulture.TwoLetterISOLanguageName));
So che l'EF Core 2.1 ora ha i filtri globali, che possono essere usati per gestire soft delete o multi-tenancy, ecc, ma ho bisogno di filtri per richiesta per lingua (se necessario).
Quindi mi chiedo come realizzo tali funzionalità e se esiste una buona pratica per la gestione delle traduzioni in EF Core 2.1 in generale (ad esempio tramite una proprietà [Proprietà], una proprietà di navigazione con qualche estensione per includi condizionali ecc.)