Я определил следующие классы:
public class DeletableEntity
{
public bool IsDeleted { get; set; }
}
public class ClassA : DeletableEntity
{
}
public class ClassB : ClassA
{
}
В OnModelCreating я получаю только сущности, которые наследуются от DeletableEntity, как это:
foreach (var entityType in builder.Model.GetEntityTypes())
{
if (typeof(DeletableEntity).IsAssignableFrom(entityType.ClrType) == true)
{
var et = entityType.BaseType;
}
}
Интересно, что ClassA имеет entityType.BaseType == null, но ClrType.BaseType ясно показывает, что ClassA наследует от DeletableEntity:
:
Для ClassB entityType.BaseType является ClassA, как и ожидалось:
Почему родительский класс первого преемника игнорируется?Это специально?
PS: я использую EF Core 2.2.