如何在Entity Framework中的更新中连接数据库列中的值

时间:2015-12-23 20:48:25

标签: entity-framework

我正在尝试使用名字在更新时添加姓氏;名字已经在列中,但我想要更新名字+姓氏

这是我的事件处理程序代码

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    Record REC = new Record();
    REC.ID = Convert.ToInt32(txtID.Text);

    int id = REC.ID;
    REC.Name= TXTNAME.Text;

    String updatedname=REC.Name;
    RecordFactory FAC = new RecordFactory();

    if (FAC.Update1(id,updatedname))
    {
        MessageBox.Show("update");
    }
    else
        MessageBox.Show("not");
    }
}

这是处理程序和查询之间的连接代码

public bool Update(int id, String name)
{
    return rd.Update(id, name);
}

这是查询代码

AS UPDATE call concatenate last name with first name

before update

public bool Update(int id ,String name)
{
    Record REC = red.Records.Where(X => X.ID == id).FirstOrDefault();

    if (REC != null)
        REC.Name =String.Concat(REC.Name+name);

    return red.SaveChanges() >0;
}

1 个答案:

答案 0 :(得分:0)

要更新记录,您需要将实体状态设置为已修改。

public bool Update(int id ,String name)
{
    Record rec= red.Records.Where(x => x.ID == id).FirstOrDefault();

    if (rec!= null)
    {
       rec.Name =String.Concat(REC.Name+name);

       db.Entry(rec).State = EntityState.Modified;

       return red.SaveChanges() >0;
    }
    return false;
}
{p> EntityStateMicrosoft.Data.Entity命名空间中定义。您需要将该命名空间导入class.with using Microsoft.Data.Entity语句。