Используйте сущность как собственный тип и независимую таблицу одновременно - PullRequest
0 голосов
/ 17 октября 2019

Я проектирую систему аудита в 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). Или есть альтернатива?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...