【发布时间】:2016-10-09 13:32:27
【问题描述】:
是否可以这样做:
public abstract class BaseEntity : IEntity
{
private Guid _id;
private DateTime _createdOn;
private DateTime _modifiedOn;
private byte[] _timestamp;
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id => _id;
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public DateTime CreatedOn => _createdOn;
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime ModifiedOn => _modifiedOn;
[Timestamp]
public byte[] Timestamp => _timestamp;
}
这是基类,所有实体都应该继承自这个类。此外,此属性应该是只读的(我使用的是backing properties),因为 EF 需要处理它们。
public class Category : BaseEntity
{
[Required]
public string Name { get; set; }
public string Description { get; set; }
}
而OnModelCreating 是空的。
当我运行迁移时,我收到消息:
'实体类型'Project.Database.Models.Category'需要一个主要的 要定义的键。
【问题讨论】:
标签: c# entity-framework asp.net-core entity-framework-core .net-core