在我的许多应用程序中,几乎每个需要用户输入的实体上都有一些字段。
CreatedBy
CreatedOn
ModifiedBy
ModifiedOn
我正在使用asp.net core 2.2,首先是ef核心代码,延迟加载,标识。举例来说,这是我的实体之一
\\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;}
问题:
是否有办法使它正常工作?
有没有办法 在需要这些属性的每个实体中“包含”这些属性吗? (而不是复制并粘贴到每个实体中)编辑:我是否只需使用 just 这些属性添加基类,并使这些用户输入实体从该新基类派生?它可以与EF Core一起使用吗?