2013-05-06 102 views
1

希望有人能告訴我如何實現這種多到五月關係...代碼第一次和許多一對多關係

我有兩個類,汽車和所有者。每輛車都可以歸衆多業主所有。每個車主都可以擁有很多車。請注意,我只想從汽車到車主的導航屬性。

public partial class Car 
{ 
    public int CarId { get; set; } 
    public string Name { get; set; } 
    public ICollection<Owner> Owners { get; set; } 
} 

public partial class Owner 
{ 
    public int OwnerId { get; set; } 
    public string Name { get; set; } 
} 

在我的DbInitializer中,我種下了這樣的b。

 Owner owner1 = new Owner() { OwnerId = 10, Name = "Erik" }; 
     context.Owners.Add(owner1); 
     Car b1 = new Car() { CarId = 1, Name = "Volvo", Owners = new List<Owner>(new Owner[] { owner1 }) }; 
     Car b2 = new Car() { CarId = 2, Name = "Saab", Owners = new List<Owner>(new Owner[] { owner1 }) }; 
     context.Cars.Add(b1); 
     context.Cars.Add(b2); 
     context.SaveChanges(); 

結果是owner1只擁有b2。爲什麼?又如何改變成多對多的關係呢?

謝謝!

回答

2

在您方面補充一點:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    base.OnModelCreating(modelBuilder); 
    modelBuilder.Entity<Car>().HasMany(c => c.Owners).WithMany(); 
} 

我告訴EF有CarOwner之間的許多一對多的關聯沒有Owner導航屬性。

+0

謝謝,但是......如上所述,是否可以在沒有導航屬性的情況下從Owner轉到Cars? – 2013-05-06 07:10:08

+0

完美!正是我需要的!謝謝... – 2013-05-06 11:50:31

相關問題