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();