我需要写下面的内容,这会创建一些Table1< ==>表2关系。
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顺便说一句)
答案 0 :(得分: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();
}
}