Concatenamento di più inclusioni con thenInclude genera System.InvalidOperationException

entity-framework-core

Domanda

Considera questo modello semplificato:

public class Field 
{
   public string Name { get; set; }
   public MultilingualString Label { get; set; }
   public MultilingualString Placeholder { get; set; }
}

public class MultilingualString 
{
   public string DefaultText { get; set; }
   public IList<Globalization> Globalizations { get; set; }
}

public class Globalization 
{
   public string Text { get; set; }
   public Language Language { get; set; }
}

public class Language
{
   public string Name { get; set; }
   public string CultureString { get; set; }
}

Usando il mio contesto, sto cercando di ottenere tutti i miei campi e includere la loro etichetta e segnaposto insieme alle globalizzazioni e al linguaggio (il tutto) usando il seguente comando:

var field = context.Fields
   .Include(x => x.Label.Globalizations)
   .ThenInclude(x => x.Language)
   .Include(x => x.Placeholder.Globalizations)
   .ThenInclude(x => x.Language)
   .ToList();

Ottengo la seguente eccezione generata:

System.InvalidOperationException Tentativo di lettura non valido quando non sono presenti dati.

Tuttavia, usando solo la prima include / theninclude, ottengo i risultati attesi.

Cosa dà? Si tratta di un bug noto o ho frainteso la sintassi Include / ThenInclude?

Questo sta usando ef7 beta4 con VS2015 RC

Risposta accettata

Questo è un bug in EF 7. Dovrebbe essere risolto con aspnet / EntityFramework n. 2474 , che non sarà nella build pubblica di EF fino alla versione beta 6. Naturalmente, puoi anche provare le build notturne




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché