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