同时使用实体作为拥有类型和独立表

时间:2019-10-17 12:26:07

标签: c# sql-server entity-framework-core

我正在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实体)。还是有其他选择?

0 个答案:

没有答案