【问题标题】:Entity framework invalid column discriminator even if Entity.Map<MyEntity>().Map specified即使指定了 Entity.Map<MyEntity>().Map,实体框架也无效列鉴别器
【发布时间】:2013-06-12 21:58:37
【问题描述】:

我有 TPH 继承。在 OnModelCreating 我指定这样的映射:

modelBuilder.Entity<Parent>()
   .Map<Child1>(m=>m.Requires("TypeCode").HasValue("A"))
   .Map<Child2>(m=>m.Requires("TypeCode").HasValue("B"))
   ...

但是当我尝试运行查询时

Parents.OfType<Child1>()

我收到错误“列鉴别器无效”。调试时我可以看到它运行 OnModelCreating 中的代码... EF 似乎忽略了 Map 定义?

【问题讨论】:

  • 抱歉,解决了,我的错误是我在 OnModelCreating 中添加 Map 方法,然后在配置中添加了 ParentMap。通过将地图方法从 OnModelCreating 移动到 ParentMap 类来解决它。显然 ParentMap 配置覆盖了 OnModelCreating 中的映射

标签: entity-framework-5


【解决方案1】:

查看添加到帖子中描述问题和解决方案的评论

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 2012-07-22
    相关资源
    最近更新 更多