7

之間的關係,我開始使用MVC 3,並用MvcScaffolding腳手架這些模型:MvcScaffolding:如何支持多到許多實體

namespace Conference.Models 
{ 
    /* 
    * Speaker can have many session 
    * And session can have many speakers 
    */ 

    public class Speaker 
    { 
     public Guid Id { get; set; } 
     [Required] 
     public string Name { get; set; } 
     public string Description { get; set; } 

     public virtual ICollection<Session> Sessions { get; set; } 
    } 

    public class Session 
    { 
     public Guid Id { get; set; } 

     [Required] 
     public string Title { get; set; } 
     [Required] 
     public string Description { get; set; } 
     [Required] 
     public DateTime Hour { get; set; } 

     public virtual ICollection<Speaker> Speakers { get; set; } 
    } 
} 

腳手架這些模型,我可以創造議程和演講後,但在發言者認爲,我不能選擇任何會議,並且在會議視圖中我不能選擇任何發言人。

如何添加這些選項並使其成爲mutliselect選項,以便我可以爲一個特定會話選擇10個揚聲器,例如?

由於提前, Yosy

回答

1

您需要這在你的上下文類:(這將創建一個關聯表)

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder.Entity<Speaker>() 
       .HasMany(parent => parent.Session) 
       .WithMany(); 
}