有没有办法在控制器mvc中编辑数据库值

时间:2015-12-01 04:12:14

标签: asp.net-mvc

我正在使用控制器来尝试编辑数据库中的值。

public ActionResult test(String t, String s)
{
    if (t!= null)
    {
        if (radio_select == "s")
        {
            if (s!= null)
            {
               // I want to know how to edit my database values here.  
            }
        }
    }
    return View();
}

以下是我的数据库

enter image description here

我想从9开始编辑这些值 - > 10和19 - > 20。并在控制器中执行此操作。

2 个答案:

答案 0 :(得分:1)

要编辑记录,您需要先选择一条记录。要选择一条记录,您需要一个唯一的ID。

以下代码会将您的记录更新为新值。

//  The id and new values are hard coded here. 
//  You might want to get it from the view as your action method parameters
//  or somewhere else.

  var id = 2;
  var responseBitNewValue = 10;
  var frequencyNewValue = 19;

  var db = new YourDbContext();
  var entityItem = db.Responses.FirstOrDefault(s=>s.Id==id);
  if(entityItem !=null)
  {
      entityItem.response_bit = responseBitNewValue ;
      entityItem.frequency = frequencyNewValue ;

      db.Entry(entityItem).State = EntityState.Modified;
      db.SaveChanges();
  } 

假设YourDbContext是db上下文类的名称,而Responses是其上的属性(表示表记录的实体的集合)l

答案 1 :(得分:0)

首先,是的,这完全是可能的,实际上是编辑和创建链接的情况。

您需要向项目添加模型,然后可以使用该模型和实体框架来更新数据库。见Jsoup

实际上,您应该始终在控制器内对数据库进行更改,而不是在视图中进行更改。