【发布时间】:2012-08-03 08:54:56
【问题描述】:
我想为我的实体实现一个基类,因此我不必在每个实体中定义一个 Guid Id 字段。我创建了以下基类:
public abstract class IdableEntity
{
[Key]
public Guid Id { get; set; }
protected IdableEntity()
{
Id = Guid.NewGuid();
}
}
这样做是因为据我所知,在这种情况下我只能使用 [DatabaseGenerated...] 属性,因为我必须转到数据库并更改所有表的 ID 字段以具有 (newid())称为“初始化程序”。如果一个实体有很多实体类 - 因此有很多表,这将非常不方便。
但是现在,我必须通过调用每个子类中的基本构造函数来清除构造函数,对吗?如果是这样,它甚至值得吗?
【问题讨论】:
标签: c# entity-framework inheritance ef-code-first