asp.net-core - EF Core'实体类型没有配置鉴别器属性'
问题描述
我有这样的模型结构
public abstract class BaseEntity
{
[Key]
public int Id { get; set; }
}
public abstract class AbstractRegistration : BaseEntity
{
public int UserId { get; set; }
}
public class Registration1 : AbstractRegistration
{
public string ReferenceNumber { get; set; }
}
public class Registration2 : AbstractRegistration
{
}
配置部分是
public class AbstractRegistrationConfig : IEntityTypeConfiguration<AbstractRegistration>
{
public void Configure(EntityTypeBuilder<AbstractRegistration> builder)
{
// map table and schema
builder.ToTable("tbl_reg");
// map properties with actual columns
builder.Property(t => t.Id).HasColumnName("id");
builder.Property(t => t.UserId).HasColumnName("userId");
builder.HasDiscriminator<int>("Id")
.HasValue<AbstractRegistration>(0)
.HasValue<Registration1>(1)
.HasValue<Registration2>(2);
builder.HasDiscriminator<string>("RegNumber")
.HasValue<Registration1>("1");
}
}
public class Registration1Config : IEntityTypeConfiguration<Registration1>
{
public void Configure(EntityTypeBuilder<Registration1> builder)
{
// map table and schema
builder.ToTable("tbl_reg1");
// map properties with actual columns
builder.Property(t => t.Id).HasColumnName("id");
builder.Property(t => t.RegNumber).HasColumnName("reg_num");
}
}
出现的错误是“实体类型 'Registration1' 是层次结构的一部分,但没有配置鉴别器属性。”
请建议
EntityFrameworkCore 版本=2.0.1.0
解决方案
推荐阅读
- graphql - XRay Cloud GraphQL API 返回 100 多个结果
- bioinformatics - 对 pdb 网站上的注释感到困惑
- karate - 空手道加特林名称解析器无法正常用于 GET 调用
- flutter - Flutter - 如何一个接一个地播放一系列视频?
- python - Pandas:如何计算组内的条件滚动/累积最大值
- database - Db2 concat 标量函数问题?
- android - 如何为 retrofit2.Response 创建呼叫适配器
- julia - 阻止 Atom Juno 自动显示窗口
- python - Python:确定终端的光标是否在行首
- r - 在R闪亮中,如何在不使用renderUI的情况下首次调用应用程序时消除侧边栏中所有条件面板的闪烁?