EF Core 5在自我引用多对多关系中添加了额外的属性

问题描述

我有以下代码,显示了自我引用多对多关系的代码。一个调查可以依赖于另一个调查。我们有一些依赖项类型(手动,OnComplete等),因此联接表中的DependencyTypeId(例如,调查B取决于调查A,并且只有在调查A完成后才能启动调查B。调查C取决于调查A,并且仅调查A完成后,就可以开始调查C)

public class Survey
{
    public Survey()
    {
        SourceSurveys = new HashSet<Survey>();
        TargetSurveys = new HashSet<Survey>();
    }

    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long Id { get; set; }

    [Required]
    public string Name { get; set; }

    public virtual ICollection<Survey> SourceSurveys { get; set; }
    public virtual ICollection<Survey> TargetSurveys { get; set; }
}

public class SurveyDependency
{
    public long SourceSurveyId { get; set; }
    public Survey SourceSurvey { get; set; }

    public long TargetSurveyId { get; set; }
    public Survey TargetSurvey { get; set; }

    public long DependencyTypeId { get; set; }     
}

这在EF Core 3.1中可以正常工作。我开始升级到EF Core 5,我希望消除连接表,因为EF Core 5支持m2m,而无需指定连接表,并且出于简单性和可管理性(我的系统中有太多m2m关系),我决定迁移到EF核心5平方米 我的问题是,既然删除了SurveyDependency联接表,现在应该将public long DependencyTypeId { get; set; } 放在哪里了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...