EF核心关系问题(导航/跟踪属性)

时间:2019-02-12 20:36:23

标签: c# asp.net asp.net-core asp.net-identity

在我的许多应用程序中,几乎每个需要用户输入的实体上都有一些字段。

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; }

我成功设置了许多一对一的导航属性 ,但是由于某种原因,我似乎无法使它们在CreatedByModifiedBy下正常工作。我希望与AppUser的派生类IdentityUser建立这些关系。

我已经尝试过了:

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

问题:

  1. 是否有办法使它正常工作?

  2. 有没有办法 在需要这些属性的每个实体中“包含”这些属性吗? (而不是复制并粘贴到每个实体中)编辑:我是否只需使用 just 这些属性添加基类,并使这些用户输入实体从该新基类派生?它可以与EF Core一起使用吗?

0 个答案:

没有答案