使用Fluent API实体Framework Core 2配置多对多

时间:2018-10-18 15:10:10

标签: entity-framework-core ef-fluent-api

我有以下课程(出于宽恕而减少);

public class Profile : AuditableEntity
{
    ...

    public int? ApprovedById { get; set; }
    public ApplicationUser ApprovedBy { get; set; }        
}

ApplicationUser没有引用Profile类的地方。

我在配置中尝试了以下内容;

        entity.HasOne(x => x.ApprovedBy)
            .WithMany()
            .HasForeignKey(x => x.ApprovedById)
            .OnDelete(DeleteBehavior.SetNull);

由于配置文件将由单个ApplicationUser批准,但是指定的ApplicationUser将能够批准多个配置文件。 (我不需要从ApplicationUser的角度对此进行跟踪,因此为什么在ApplicationUser类中没有引用)。

但是,当我尝试添加迁移时,出现以下错误;

  

未处理的异常:System.InvalidOperationException:无法确定由类型为“ ApplicationUser”的导航属性“ Profile.ApprovedBy”表示的关系。要么手动配置关系,要么使用“ [NotMapped]”属性或“ OnModelCreating”中的“ EntityTypeBuilder.Ignore”忽略此属性。

任何人都可以解释为什么会发生这种情况,请问如何解决?

0 个答案:

没有答案