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
C# 两个模型之间的多重关系_C#_Entity Framework - Fatal编程技术网

C# 两个模型之间的多重关系

C# 两个模型之间的多重关系,c#,entity-framework,C#,Entity Framework,我使用的是code first和EF 4.1 im我的MVC3应用程序,有两个型号有两个 他们之间的关系。以下是引用这些模型的类: public class Cattle { public int CattleID { get; set; } public int FarmID { get; set; } public int SituationID { get; set; } public int DiscardI

我使用的是code first和EF 4.1 im我的MVC3应用程序,有两个型号有两个
他们之间的关系。以下是引用这些模型的类:

    public class Cattle
    {
        public int CattleID { get; set; }
        public int FarmID { get; set; }
        public int SituationID { get; set; }
        public int DiscardID { get; set; }
        public int Stamp { get; set; }
        public string Sex { get; set; }
        public string Condition { get; set; }
        public virtual Farm Farm { get; set; }
        [InverseProperty("Cattles2")]
        public virtual ICollection<Farm> Farms { get; set; }
    }

 public class Farm
 {
    public int FarmID { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Cattle> Cattles { get; set; }
    public virtual ICollection<Cattle> Cattles2 { get; set; }
 }

我需要知道我做错了什么,或者是否有更合适的方法来解决该问题。

在处理多个联接时,您可能需要具体说明关系

尝试将外键属性添加到服务器场导航属性

[ForeignKey("FarmID")]
public virtual Farm Farm { get; set; }

Farm
是否已填充或为空?
FarmID
是否正确填充?有关新日期属性的信息如何与问题相关?是的,场表和catle表都已正确填充。两个表中都填充了FarmID。Date属性存储猫从实际农场转移到新农场的日期。希望我能提供帮助。抱歉,我问的是.NET代码,而不是数据库。导航属性场为null,导航属性场的计数为0。FarmID已填充,如果我删除多对多关系,我将获得我需要的信息“Farm.Name”。但我需要知道我如何处理两个模型之间的多个关系。对不起,它不起作用。显示了以下错误:“引用关系将导致不允许的循环引用”您应该能够通过允许FarmId(public int?FarmId{get;set;})为空或禁用与modelBuilder的关系的级联来停止循环或多个级联路径。确定,我将FarmID属性设置为可为null,它工作得很好,THX很多。那么如何为代码中显示的新表“catlettransfer”生成Date属性呢?您能帮我吗?如果您想在联接表中有其他字段的话。您需要将其作为自己的类添加到模型中。然后更改两个导航属性以使用该类。(如ICollection CattleTransfers)Thx ckal。现在系统运行良好,我的问题到此为止。再见!!
@Html.DisplayFor(modelItem => item.Farm.Name) 
[ForeignKey("FarmID")]
public virtual Farm Farm { get; set; }