2011-05-26 237 views
1

我有两个列表框,我将数据从一个列表框复制到另一个列表框。 移入第二个列表框的行需要保存到与记录起源的表不同的表中。实体框架:表插入

所以,我有一个UserProfile表和整个公司的人员列表。我只选择参与该项目的个人。

我需要将这些个人保存到只有该项目成员的人员的不同表中。我使用HttpRequest从第二个列表框中获取新个人。然后我有一个使用Linq Query的方法,该方法通过UserProfile表中的UserId检索行。

现在我有了UserProfile表所需的行,我该如何将这些个人插入到新表中?我已经有了需要保存到此表中的人员的IQueryable。如何将这些成员列表保存到asp.net mvc和实体框架中的这个新表中?谢谢

回答

0

是插入到您的表的相同类型的IQueryable类?我假设是,但如果没有,你只需要先映射列。

这里是我的插入类别记录控制器代码,我的表在实体框架命名lm_r_category。此代码通过Http Post从Telerik ASP.MVC网格触发,但可以根据需要触发。

lm_r_category是我插入到表中的EF类。如果您正在使用不同的类,只需在执行AddObject之前创建lm_r_category的新实例并映射列值。正如你所看到的,在EF中插入非常简单。

[HttpPost] 
[GridAction] 
public ActionResult GridInsert(lm_r_category category) 
{ 
    if (ModelState.IsValid) 
    { 
     // add instance of lm_r_category representing 
     // the new row. 
     db.lm_r_category.AddObject(category); 

     // save the changes 
     db.SaveChanges(); 
    } 
    return View(new GridModel(db.lm_r_category)); 
}