实体框架:表插入

时间:2011-05-26 19:25:55

标签: asp.net-mvc asp.net-mvc-3 entity-framework

我有两个列表框,我将数据从一个列表框复制到另一个列表框。 移动到第二个列表框中的行需要保存到与记录生成的表不同的表中。

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

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

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

1 个答案:

答案 0 :(得分: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));
}