Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework EF代码前6个带“1”;“多重”;多对多自参考_Entity Framework_Ef Code First_Self Referencing Table - Fatal编程技术网

Entity framework EF代码前6个带“1”;“多重”;多对多自参考

Entity framework EF代码前6个带“1”;“多重”;多对多自参考,entity-framework,ef-code-first,self-referencing-table,Entity Framework,Ef Code First,Self Referencing Table,我有一个这样的实体: public class Course { public int Id { get; set; } public string Name { get; set; } public virtual ICollection<Course> Prerequisites { get; set; } public virtual ICollection<Course> Equivalents { get; set; }

我有一个这样的实体:

public class Course
{
    public int Id { get; set; }
    public string Name { get; set; } 

    public virtual ICollection<Course> Prerequisites { get; set; }
    public virtual ICollection<Course> Equivalents { get; set; }

    public Course()
    {
        Prerequisites = new HashSet<Course>();
        Equivalents = new HashSet<Course>();
    }
}
公共课
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共虚拟ICollection先决条件{get;set;}
公共虚拟ICollection等价项{get;set;}
公共课程()
{
先决条件=新的HashSet();
等价物=新的HashSet();
}
}
我想为“先决条件”和“等价物”创建不同的表。 如何配置它?

这可能会有所帮助

public class Course
{

    public int Id { get; set; }
    public String Name { get; set; }

    [InverseProperty("PrerequisiteFor")]
    public virtual ICollection<Course> Prerequisites { get; set; }
    [InverseProperty("EquivalentTo")]
    public virtual ICollection<Course> Equivalents { get; set; }
    [InverseProperty("Equivalents")]
    public virtual ICollection<Course> EquivalentTo { get; set; }
    [InverseProperty("Prerequisites")]
    public virtual ICollection<Course> PrerequisiteFor { get; set; }

    public Course()
    {
        Prerequisites = new HashSet<Course>();
        Equivalents = new HashSet<Course>();
        PrerequisiteFor = new HashSet<Course>();
        EquivalentTo = new HashSet<Course>();

    }
}
公共课
{
公共int Id{get;set;}
公共字符串名称{get;set;}
[逆属性(“先决条件”)]
公共虚拟ICollection先决条件{get;set;}
[逆属性(“等价物”)]
公共虚拟ICollection等价项{get;set;}
[逆属性(“等价物”)]
公共虚拟ICollection等价于{get;set;}
[逆属性(“先决条件”)]
{get;set;}的公共虚拟ICollection先决条件
公共课程()
{
先决条件=新的HashSet();
等价物=新的HashSet();
PrerequisiteFor=新HashSet();
equalentto=新的HashSet();
}
}

那你为什么要把它们做成同一类型的课程?如果你想把它们放在不同的表格里,我想你在设计上有问题。谢谢你的回复。你能写下你的建议吗?