Базовая сущность во многих отношениях - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь реализовать класс BaseEntity. Там у меня есть поля: Id, CreatedDateTime, updatedDateTime, CreatedBy, updatedBy.

В моем классе репозитория я указываю на это:

public interface IRepositoryBase<TEntity> where TEntity : BaseEntity

Будет ли правильно наследовать BaseEntity также во всех многих сущность? Как это:

    public class OrderDish
{
    public int OrderId { get; set; }

    public Order Order { get; set; }

    public int DishId { get; set; }

    public Dish Dish { get; set; }
}

1 Ответ

0 голосов
/ 28 февраля 2020

Если ваш BaseEntity выглядит следующим образом:

public interface BaseEntity
{
    DateTime? CreatedDate { get; set; }
    DateTime? UpdatedDate { get; set; }
    string CreatedBy { get; set; }
    string UpdatedBy { get; set; }
}

Создайте класс Entity из BaseEntity, например:

public class Entity : BaseEntity
{
    protected Entity(){}
    public virtual string CreatedBy { get; set; }
    public virtual DateTime? CreatedDate { get; set; }
    public virtual string UpdatedBy { get; set; }
    public virtual DateTime? UpdatedDate { get; set; }
}

Унаследуйте другие права от Entity, например:

public class OrderDish : Entity
{
    public int OrderId { get; set; }
    public Order Order { get; set; }
    public int DishId { get; set; }
    public Dish Dish { get; set; }
}

Вы сможете получить доступ к свойствам таким образом

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