Entity framework core 使用包含链接多个包含会引发System.InvalidOperationException

Entity framework core 使用包含链接多个包含会引发System.InvalidOperationException,entity-framework-core,Entity Framework Core,考虑这个简化模型: 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 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; }
}
我将引发以下异常:

System.InvalidOperationException异常 当不存在数据时尝试读取无效

然而,仅使用第一个include/然后include,我确实得到了预期的结果

有什么好处?这是一个已知的bug,还是我误解了Include/thenclude语法


这是将ef7 beta4与VS2015 RC一起使用这是ef7中的一个错误。应该是固定的,这将不会在公共EF建设,直到测试版6。当然,你也可以试试

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