0
使用許多數據保存

多對多的關係MVC4一對多的關係

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
modelBuilder.Entity<Company>() 
    .HasMany(c => c.Tags) 
    .WithMany(t => t.Companies) 
    .Map(m => 
    { 
     m.MapLeftKey("Companyid"); 
     m.MapRightKey("tagid"); 
     m.ToTable("CompanyTags"); 
    } 
} 

添加公司

var company = new Company() { Name = "FooBar Inc" }; 

添加標籤

int tagId = _db.Tags.Where(x => x.Title == tag).Select(x => x.Id).SingleOrDefault(); 
if (tagId==0) 
    company.Add(new Tag { Title = tag}); 
else 
    ?????? //still create a relationship in CompanyTags (companyid,tagid) 


context.Companies.Add(company); 
context.SaveChanges(); 

如何配置這樣一個新的公司被創建時並且標籤是否在標籤表中退出。不創建標籤,但仍然沒有創造條件,如果在CompanyTags表

UPDATE 的關係,如果用戶例如添加了標籤標題的狗,如果存在一個新的記錄被變量表創建。相反,我要在標籤表格只是在映射表中沒有創建標籤,請參見下面 enter image description here

+1

請訪問http ://stackoverflow.com/questions/4253165/insert-update-many-to-many-entity-framework-how-do-i-do-it – Jasen 2014-09-30 17:52:39

+0

許多感謝@Jasen的鏈接。 – Ben 2014-09-30 20:57:57

回答

0

截圖通過實施

 _db.Tags.FirstOrDefault(x => x.Title == tag) 

而不是做新的標籤解決...