我有一个从基类继承的 POCO 类。我正在使用 EF Power Tools 来显示实体数据模型。我注意到的是,五个属性中只有两个从基类中显示。这是一个例子:
基类:
using System;
namespace App.Model
{
[Serializable()]
public abstract class BaseEntity
{
public bool IsActive { get; private set; }
public DateTimeOffset Created { get; private set; }
public string CreatedBy { get; private set; }
public DateTimeOffset LastUpdated { get; protected set; }
public string LastUpdatedBy { get; protected set; }
private BaseEntity() { }
protected BaseEntity(DateTimeOffset created, string createdBy)
{
IsActive = true;
Created = created;
CreatedBy = createdBy;
LastUpdated = created;
LastUpdatedBy = createdBy;
}
}
}
继承类:
using System;
namespace App.Model
{
[Serializable()]
public class Person : BaseEntity
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public Person(DateTimeOffset created, string createdBy) :
base(created, createdBy) { }
}
}
只有 LastUpdated 和 LastUpdatedBy 出现在模型中:
我认为这可能与受保护与私有设置器有关,因此我尝试将其他三个未显示的属性设置为受保护并重新运行该工具。它仍然没有创建 IsActive、Created 和 CreatedBy 字段。
是什么导致了这个问题,如何让所有五个字段都出现在模型中?