2013-11-25 43 views
1

我在SQL Server Management Studio數據庫看起來是這樣的:關係表中創建一排EF 6.0

enter image description here

在EF它看起來像這樣:

enter image description here

所以基本上,當我添加一個Bokningar行我需要RumsBokningar表包含的Bokning_IDRum_ID房間。這裏是我的代碼:

var model = new HotellEntities(); 

model.Bokningar.Add(new Bokningar 
           { 
            Antalpersoner = 2, 
            Bokningsdatum = DateTime.Now, 
            DatumFrån = dateTimeBokaFrån.Value, 
            DatumTill = dateTimeBokaTill.Value, 
            Namn = namnText.Text,          
           }); 

model.SaveChanges(); 

這導致正在創建預訂行,但我需要太創建RumsBokningar行...

Bokningar類:

public partial class Bokningar 
{ 
     public Bokningar() 
     { 
      this.Rums = new HashSet<Rums>(); 
     } 

     public int Bokning_ID { get; set; } 
     public string Namn { get; set; } 
     public Nullable<System.DateTime> Bokningsdatum { get; set; } 
     public Nullable<int> Antalpersoner { get; set; } 
     public Nullable<System.DateTime> DatumFrån { get; set; } 
     public Nullable<System.DateTime> DatumTill { get; set; } 

     public virtual ICollection<Rums> Rums { get; set; } 
    } 

Rum類:

public partial class Rums 
{ 
     public Rums() 
     { 
      this.Bokningar = new HashSet<Bokningar>(); 
     } 
     [Browsable(false)] 
     public int Rum_ID { get; set; } 
     [Browsable(false)] 
     public Nullable<bool> Husdjur { get; set; } 
     public Nullable<int> Pris { get; set; } 
     public Nullable<int> Nummer { get; set; } 
     public Nullable<int> Antalpersoner { get; set; } 
     [Browsable(false)] 
     public virtual ICollection<Bokningar> Bokningar { get; set; } 
} 

沒有RumsBokningar class sinc這只是一個導航屬性。

謝謝!

回答

0

對象中表示的多對多關係是具有另一個對象列表的對象。 (另一個對象也有第一個對象的列表)因此,當您創建對象Bokningar時,請將其設置爲Rums集合,其中列表爲Rums。如下。

var bokningar new Bokningar 
{ 
    Antalpersoner = 2, 
    Bokningsdatum = DateTime.Now, 
    DatumFrån = dateTimeBokaFrån.Value, 
    DatumTill = dateTimeBokaTill.Value, 
    Namn = namnText.Text, 
    // Create your Rums here. 
    Rums = new List<Rum>{ new Rum { Husdjur = true, ... } }          
}); 

現在每插入一行Rum對象。

同樣,Bokningar如下單個Rum constains列表

var rum = new Rum 
{ 
    Husdjur = true, 
    // ... 
    Bokningar = new List<Bokningar>{ new Bokningar { Antalpersoner = 2, ... } } 
}; 

model.SaveChanges();