我正在EntityFrameworkCore中设计一个审核系统,我想在审核实体类中重用我的实体类,以减少代码重复。
User
实体
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
通用Audit
实体:
public class Audit<T>
{
public int AuditId { get; set; }
public string UpdateType { get; set; }
public DateTimeOffset UpdatedAt { get; set; }
public string UpdatedBy { get; set; }
public T Snapshot { get; set; }
}
审核用法为DbSet<Audit<User>>
目标是最终获得此表结构:
用户
Id INT,
FirstName VARCHAR,
LastName VARCHAR
UserAudits
AuditId INT,
AuditUpdateType VARCHAR,
UpdatedAt DATETIMEOFFSET,
UpdatedBy VARCHAR,
Id INT,
FirstName VARCHAR,
LastName VARCHAR
在Entity Framework Core中还可以吗?创建迁移时,它一直尝试将UserAudits表和Users表与外键链接在一起(大概是因为我使用的是同一User实体)。还是有其他选择?