Sto provando a migrare il vecchio progetto da Linq2Sql a EF6 e ho ricevuto il seguente problema.Raccolte figli filtro EF 6
Questo progetto è multilingue (vale a dire tutti i testi hanno più di 1 traduzione) e ho seguente struttura db:
Qual è il modo migliore per ottenere tutti gli oggetti ExampleEntity1 con tutti i record LocalizedContent filtrati per ID lingua corrente?
posso caricare tutti gli oggetti ExampleEntity1 con tutti i record che utilizzano LocalizedContent seguente codice: dc.ExampleEntity1.Include(ee => ee.TextEntry.LocalizedContents);
In Linq2Sql posso filtrare i record LocalizedContent utilizzando loadOptions.AssociateWith
ma non riesco a trovare alcuna soluzione per EF6.
Ho visto simili vecchie domande (pubblicate come 2-3 anni fa) e mi chiedo solo se esiste una soluzione per EF6. È una caratteristica molto importante per me perché ho decine di entità nel progetto e non voglio creare oggetti personalizzati per ogni query selezionata.
Ho anche trovato EntityFramework.DynamicFilters pacchetto NuGet che può aiutare con il mio problema, ma io preferirei usare la funzionalità EF6 "nativo", se possibile ..
Un'opzione che viene in mente ma potrebbe non funzionare per la situazione: una funzione di database personalizzata che accetta l'ID lingua corrente e TextEntryId e restituisce i LocalizedContent corretti. Basta lanciarlo per sperare di accendere qualche idea. –
solo per interesse ... perché non si sposta falso in textentry in localizedContent e si elimina il testo della tabella, questo non semplificherebbe le cose senza perdere nulla. come allora non dovresti passare attraverso un altro tavolo di collegamento .... che non riesco a vedere cosa aggiunge oltre a fakefield ... che potrebbe essere spostato su LocalizedContent ... – Seabizkit
Se vuoi usare metodi nativi EF, Finiremo per intercettare gli alberi dei comandi dalla nuova API di intercettazione di EF6. Se lo fai, alla fine avrai reinventato EntityFramework.DynamicFilters. Vorrei andare per il pacchetto Nuget. –