我正在将Entity Framework与MySQL配合使用。假设我有以下实体:
Country
State
City
Car
Building
要热切地包括到Cars,我可以使用以下方法:
context.Countries.
Include(c => c.States.Select(s => s.Cities.Select(ci => ci.Cars))).ToList();
类似地,要包括到的所有内容Buildings,我可以使用:
context.Countries.
Include(c => c.States.Select(s => s.Cities.Select(ci => ci.Buildings))).ToList();
他们俩都很好。现在,我想将这两个结合起来以同时包含Cars和Buildings,所以我要执行以下操作:
context.Countries.
Include(c => c.States.Select(s => s.Cities.Select(ci => ci.Cars))).
Include(c => c.States.Select(s => s.Cities.Select(ci => ci.Buildings))).ToList();
但是每当我将两者结合在一起时(使用上面的代码),它就会在内部异常中引发EntityCommandExecutionException带有以下消息的异常:
{““字段列表”中的未知列“ Apply1.Id””}
我花了两个小时试图弄清楚查询出了什么问题,最后,我决定使用SQL Server对其进行测试,并且该查询没有任何问题。
总结一下我的问题:
知道为什么这不适用于MySQL吗?而且查询本身有问题吗?
是否有任何解决方法/替代方法可使用MySQL来实现?
请注意,这种情况仅发生在第三级(的第二级Select),例如,以下操作就可以了:
context.Countries.
Include(c => c.States.Select(s => s.Cities.Select(ci => ci.Cars))).
Include(c => c.States.Select(s => s.Laws.Select(l => l.PrivacyLaws))).ToList();
相关分类