Отслеживание EFCore CreatedBy и UpdBy пользователя с навигацией - PullRequest
0 голосов
/ 27 февраля 2020

Довольно плохо знаком с EFCore, и я пытаюсь создать сущность, у которой есть некоторое отслеживание того, когда она была обновлена ​​и создана. Я хотел бы, чтобы была навигация назад к пользователю в случае, если я хотел бы отобразить некоторую информацию о пользователе.

Сущность, которую я определил следующим образом:

    public class Department
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public bool Active { get; set; }
        public int LeaderId { get; set; }
        public User Leader { get; set; }
        public int DefaultAssigneeId { get; set; }
        public User DefaultAssignee { get; set; }
        public DateTime CreatedOn { get; set; }
        public int CreatedById { get; set; }
        public User CreatedBy { get; set; }
        public DateTime LastUpdated { get; set; }
        public int LastUpdatedById { get; set; }
        public User LastUpdatedBy { get; set; }
    }

Проблема, с которой я сталкиваюсь, заключается в том, что она создается как отношение один к одному с уникальным индексом в CreatedById и LastUpdatedById et * 1012. *. Очевидно, что пользователь не может быть уникальным в таблице.

Нужно ли это делать в Fluent API? Я думаю, что это может работать, но мне интересно, если это уместно или есть лучший способ сделать это.

            builder.Entity<Department>()
                .HasOne(d => d.LastUpdatedBy)
                .WithMany()
                .OnDelete(DeleteBehavior.Restrict);

Поскольку у меня может быть больше таких сущностей, есть ли способ добавить аннотации вместо объявить это в свободном API?

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