C# LINQ到实体-分配多对多关系

C# LINQ到实体-分配多对多关系,c#,entity-framework-4,linq-to-entities,many-to-many,C#,Entity Framework 4,Linq To Entities,Many To Many,我需要写一些类似下面的东西,它创建了一些Table1 Table2关系 table1.Table2 = context.Table2.Where(t => t.ID.In(arrayOfIDs)) 表1和表2具有多对多关系,例如,它们在数据库中有一个联接表。我该怎么做 编辑: 一个更完整的例子: internal void UpdateMedia(int mediaID, int[] catagoryIDs) { using (Data.EFEntities context =

我需要写一些类似下面的东西,它创建了一些Table1 Table2关系

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顺便说一句)

这样的东西可能会奏效:

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();
    }
}

你是在问怎样才能加入?请澄清更多我希望将指定的表2行分配给表1。是的,看起来这就是方法。在尝试添加代码以删除现有类别并避免添加已经存在的类别之后,我放弃了,并编写了一个存储过程来完成这项工作。使用实体框架做这样的事情有多尴尬,这让我很恼火。