0

我正在尝试使用 Fluent API 来使用 TPH 将现有的类层次结构映射到单个表中。在这种情况下,我有一个基类(包含公共属性),然后是 2 个用自己的属性扩展基类的具体类:

class Base 
{
    // properties
}

class A: Base {}

class B: Base {}

我正在尝试使用自定义类型配置器将类映射到表,我认为我可以这样做:

class BaseConfigurator: IEntityTypeConfiguration<Base> 
{
    public void Configure(EntityTypeBuilder<Base> builder)  
    {
       builder.ToTable("...");
       // more mappings
       builder.HasDescriminator(e => e.Type)
              .HasValue<A>("A")
              .HasValue<B>("B");
    }
}

当我尝试运行代码时,我收到一条错误消息,指出基本类型是层次结构的一部分,但没有配置鉴别器值。

既然基类型是抽象的,它只是为了保存公共属性,我怎么能说基类型应该被忽略呢?

谢谢。

4

1 回答 1

0

刚刚注意到我缺少abstract基类声明中的限定符......添加它似乎可以解决问题。

于 2021-12-26T17:29:45.193 回答