用于获取表行并更新数据库中的行的Lambda表达式

时间:2014-07-06 09:22:39

标签: asp.net-mvc linq lambda

我正在尝试更新我的数据库表,并从我的模型中获取id

public void Update(Abc model)
        {
            //Database Table Instance  
            Abc a=new Abc();

            //Trying to update the column where id =id         
            try
            {
                a.id = model.Asset.id;
                a.column = "R";
                db.Entry(a).State = EntityState.Modified;
                db.SaveChanges();
            }
            catch (Exception e) { }
        }

它将列设置为R bt为所有其他列设置Null,因为我没有从模型中获取其他列的值。一种方法是在模型中设置隐藏值并发送模型,但表格大约有30列。所以我想从数据库中获取表行,其中id = id,并且唯一更新我的函数库中该行中的列.....

1 个答案:

答案 0 :(得分:1)

为了首先实现这一点,您需要从db上下文中获取实际对象,然后更改所需的属性并将其保存到数据库中,如下所示:

try
{
    Abc a = db.Abcs.SingleOrDefault(a => a.id == model.Asset.id);
    a.column = "R";
    db.SaveChanges();
}
catch (Exception e) { }

这将解决您的问题。