我使用代码第一和EF 4.1我的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; }
}
一个关系是一对一或多个引起catle只能是农场和农场可以包含很多catles。另一种关系是多对多的,一个catle可以在农场之间转移,我会生成第三个表来存储使用Fluent API的转移。我也想有个约会属性插入到新表和鸵鸟政策知道该怎么做it.Here是OnModelCreating方法中的FarmContext代码:
modelBuilder.Entity<Catle>()
.HasMany(c => c.Farms).WithMany(i => i.Catles)
.Map(t => t.MapLeftKey("CatleID")
.MapRightKey("FarmID")
.ToTable("CatleTransfer"));
当我生成项目,似乎工作正常,生成的表Catle和Farm由FarmInitializer提供,但在Catle的索引页中缺少指向这种关系的一些信息。它对我来说是空白的。下面是获取信息的代码:
@Html.DisplayFor(modelItem => item.Farm.Name)
我需要知道什么是我做错了,或者如果有更合适的方法来解决这个问题。
“Farm”已填充或为空吗? FarmID是否正确填充?有关与问题相关的新日期属性的信息如何? – 2012-07-29 16:22:41
是的,Farm表正确填充并且catle表也是。 FarmID填充在两个表中。日期属性存储从实际农场到新农场的转移日期。希望我有帮助。 – 2012-07-30 13:31:40
对不起,我在问.NET代码,而不是数据库。 – 2012-07-30 13:35:03