2011-02-16 109 views
0

我需要寫下如下內容,這會創建一些Table1 < ==> Table2關係。LINQ to Entities - 分配多對多關係

table1.Table2 = context.Table2.Where(t => t.ID.In(arrayOfIDs)) 

表1和表2有多對多的關係,例如它們在數據庫中有一個連接表。我該怎麼做?

編輯:

更全面的例子:

internal void UpdateMedia(int mediaID, int[] catagoryIDs) 
{ 
    using (Data.EFEntities context = new Data.EFEntities()) 
    { 
     Data.Media media = context.Media.Single(m => m.MediaID == mediaID); 

     media.Category = context.Category.Where(cat => cat.CategoryID.In(catagoryIDs)); 

     context.SaveChanges(); 
    } 
} 

這是不行的,但應該表現出什麼,我想要的目的。 (實體框架4 BTW)

+0

你是問你怎麼能參加?請澄清更多 – 2011-02-16 15:30:57

+0

我希望將指定的Table2行分配給Table1。 – Sprintstar 2011-02-16 15:37:48

回答

1

也許像這樣的工作:

internal void UpdateMedia(int mediaID, int[] catagoryIDs) 
{ 
    using (Data.EFEntities context = new Data.EFEntities()) 
    { 
     Data.Media media = context.Media.Single(m => m.MediaID == mediaID); 

     foreach(var category in context.Category.Where(cat => catagoryIDs.Contains(cat.CategoryID)) 
     { 
      media.Categories.Add(category);     
     } 

     context.SaveChanges(); 
    } 
}