beekeeper
beekeeper

Reputation: 622

Is column a discriminator?

If a user does something like this inside OnModelCreating:

modelBuilder.Entity<MyBaseEntity>.HasDiscriminiator(x => x.EntityType)

Outside OnModelCreating, is it possible to either get the full list of discriminator columns or check if a particular column was configured as discriminator?

Thanks.

Upvotes: 1

Views: 229

Answers (1)

Ivan Stoev
Ivan Stoev

Reputation: 205849

In EF Core 3.x it can be obtained for a given IEntityType using the GetDiscriminatorProperty method, e.g.

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

Some other useful extension methods are GetDiscriminatorValue, GetDerivedTypes, GetRootType etc.

Upvotes: 0

Related Questions