列是判别器吗?

Is column a discriminator?

如果用户在 OnModelCreating:

中做了类似的事情
modelBuilder.Entity<MyBaseEntity>.HasDiscriminiator(x => x.EntityType)

OnModelCreating 之外,是否可以获取鉴别器列的完整列表或检查是否将特定列配置为鉴别器?

谢谢。

在 EF Core 3.x 中,它可以通过给定的 IEntityType using the GetDiscriminatorProperty 方法获得,例如

var discriminatorProperty = dbContext.Model
    .FindEntityType(typeof(MyBaseEntity))
    .GetDiscriminatorProperty();

其他一些有用的扩展方法是GetDiscriminatorValue, GetDerivedTypes, GetRootType