IdentityUser已连接到CreatedBy和ChangedBy

时间:2018-11-07 11:21:15

标签: asp.net-identity entity-framework-core

我正在使用最新版本的entity-framework-core。

我在dbcontext中定义的每个实体都包含IdentityUser类型的createdby和changeby字段。这对于大多数实体都可以正常工作,但是我的IdentityUser实体(tableName:ApplicationUser)具有两个连接的实体字段:Culture和TWRole ..

如果现在尝试添加迁移,则会收到错误消息“无法确定由'ApplicationUser'类型的导航属性'TWRole.CreatedBy'表示的关系。要么手动配置该关系,要么使用'[ NotMapped]”属性或通过在'OnModelCreating'中使用'EntityTypeBuilder.Ignore'“

我在OnModelCreating方法中尝试了各种配置,但没有使它起作用。

如何使它按预期工作?

public class ApplicationUser : IdentityUser<long>, IEntity<long>
{
    [DisplayName("CreatedBy")]
    public long? CreatedById { get; set; }
    [ForeignKey("CreatedById")]
    [JsonIgnore]
    [NoTranslation]
    public ApplicationUser CreatedBy { get; set; }

    [DisplayName("ChangedBy")]
    public long? ChangedById { get; set; }
    [ForeignKey("ChangedById")]
    [JsonIgnore]
    [NoTranslation]
    public ApplicationUser ChangedBy { get; set; }
}

0 个答案:

没有答案