【发布时间】:2019-06-01 14:32:34
【问题描述】:
我定义了以下类:
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。
【问题讨论】:
标签: entity-framework asp.net-core-mvc ef-core-2.0