2013-05-10 46 views
0

所以我有以下型號EF:在EF Code First中,如何設置一對多屬性?

[Table("Site")] 
public class Store{ 
    [Key] 
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] 
    public int ID { get; set; } 
    [ForeignKey("ID")] 
    public virtual ICollection<Item> Items { get; set; } 
} 
[Table("Item")] 
public class Item { 
    [Key] 
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] 
    public int ID { get; set; } 
    [Column("SiteID")] 
    public int storeID { get; set; } 
    [ForeignKey("storeID")] 
    public Store store { get; set; } 
} 

因此,從本期特價貨品會>商店似乎要被罰款,填充數據。但是Store-> Items不會填充。我究竟做錯了什麼?

+0

你是如何加載信息的? – 2013-05-10 19:10:13

+0

實體框架自動加載! – Bill 2013-05-10 19:11:03

+0

你能分享你從哪裏加載數據庫信息的代碼嗎? – 2013-05-10 19:17:49

回答

0

想出來,建立一個一對多的關係,你需要使用InverseProperty。喜歡這個!

[Table("Site")] 
public class Store { 
    [Key] 
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] 
    public int ID { get; set; } 
    [InverseProperty("store")] 
    public virtual ICollection<Item> Items { get; set; } 
} 

[Table("Item")] 
public class Item { 
    [Key] 
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] 
    public int ID { get; set; } 
    [Column("SiteID")] 
    public int storeID { get; set; } 
    [ForeignKey("storeID")] 
    public Store store { get; set; } 
} 

所有的事件都是載入事件的Items集合。