Entity framework 无法查看SQL搜索鉴别器列的原因
在阅读了大量关于无效列鉴别器的问题后,我不明白为什么会遇到这个问题 我首先使用EF Power Tools Visual Studio扩展对数据库代码进行了反向工程 我已从Orders数据库集中获得OrderRow.OrderRowOptions.Option的包含路径。就是Entity framework 无法查看SQL搜索鉴别器列的原因,entity-framework,ef-code-first,entity-framework-6,Entity Framework,Ef Code First,Entity Framework 6,在阅读了大量关于无效列鉴别器的问题后,我不明白为什么会遇到这个问题 我首先使用EF Power Tools Visual Studio扩展对数据库代码进行了反向工程 我已从Orders数据库集中获得OrderRow.OrderRowOptions.Option的包含路径。就是 context.Orders.Include("OrderRow.OrderRowOptions.Option") 任何表上都没有鉴别器列,我的任何POCO中都没有鉴别器属性 正在生成并发送到数据库的SQL包含一个鉴别器
context.Orders.Include("OrderRow.OrderRowOptions.Option")
任何表上都没有鉴别器列,我的任何POCO中都没有鉴别器属性
正在生成并发送到数据库的SQL包含一个鉴别器列
为什么??这并不是说它们不同步。为了确保这一点,我在控制台应用程序中重复了反向工程。我相信我终于找到了问题所在。 我从一开始就知道这与EF对查找表的处理有关 而且我知道每个继承人TPH特征的桌子在这里起作用 我没有意识到实际上不需要一个鉴别器列 我有一个TPH,因为有一个名为AdditionalLocationsOrderRowOption的类型继承自OrderRowOption 因此,即使我的域类型数据库中没有鉴别器列,我已经无数次验证了这一点,但TPH正在发挥作用,阻止我对订单项进行包含 因此,我的下一步将使用EF到实体的Join方法