EF Core Relationship Issue (Свойства навигации / отслеживания) - PullRequest
0 голосов
/ 12 февраля 2019

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

CreatedBy CreatedOn ModifiedBy ModifiedOn

Яиспользуя asp.net core 2.2, сначала код ef core, отложенная загрузка, идентификация.В качестве примера, вот одна из моих сущностей

    \\CLPosts
    public int PostId {get;set;}
    public string Body {get;set;}

    [Required]
    [DisplayFormat(DataFormatString = "{0:g}")]
    [Display(Name = "Created on")]
    public DateTime CreatedOn { get; set; } = DateTime.Now;

    [Required]
    [Display(Name = "Last modified")]
    [DisplayFormat(DataFormatString = "{0:g}")]
    public DateTime ModifiedOn { get; set; } = DateTime.Now;

    [Required]
    public Guid CreatedBy { get; set; }

    [Required]    
    public Guid ModifiedBy { get; set; }

Я настроил множество одно-к-одному навигационных свойств с успехом , но я не могу заставить их работать на CreatedBy и ModifiedBy по некоторым причинам.Я хотел бы, чтобы эти отношения были сделаны с производным классом AppUser от IdentityUser.

Я пробовал это:

[ForeignKey("ModifiedBy")]
public virtual AppUser ModifiedByUser {get;set;}

Вопросы:

  1. Есть ли способ заставить это работать?

  2. Есть ли способ «включить» эти свойства в каждую сущность, которая в них нуждается?(В отличие от копирования и вставки в каждую сущность) РЕДАКТИРОВАТЬ: Могу ли я просто добавить базовый класс с просто этими свойствами и получить эти пользовательские входные сущности из этого нового базового класса?Работает ли это с EF Core?

...