0

我正在从我的 MVC 项目中调用 Web 服务,如果成功,则返回process complete。这个结果,我存储在名为 y 的变量中。

var y = Here pass required parameters and if it is successfull store result in y

当我在这里放置断点并且过程完成时,我可以在 var 中看到结果y

因此,如果过程完成,我需要更新我的表格。为此我可以这样做吗?

  if( y = "Process complete")
  {
     update table code here 
  }

而且我不知道如何更新实体框架中的表。在这里,我需要更新名为的表table1并设置 column2 = 1,column 3 = column 4 的 value,其中 column 1 = column 1 的 value。

我所知道的是:

UPDATE tableName 
SET column2 = 1, column3 = context.FirstOrDefault().column4  
WHERE column1 =  context.FirstOrDefault(). column1

更新 :

嗨,我知道如何编写代码来更新表。但是当我设置断点并使用 savechanges 方法时,我得到属性导出是对象关键信息的一部分,并且无法修改错误。

这是我用来更新表的代码:

      var rec = (from s in geton.table_1
      where s.on_id == geton.table_1.FirstOrDefault().on_id
      select s).FirstOrDefault();
      rec.export = 1;
      rec.on_date = geton.table_1.FirstOrDefault().on_date;
      geton.SaveChanges();
4

2 回答 2

3

可以通过调用 DbSet 上的 Add 方法将新实体添加到上下文中。这会将实体置于已添加状态,这意味着它将在下次SaveChanges调用时插入到数据库中。

例如:

using (var context = new YourContext())
{
    var record = new TypeName { PropertyName = "Value" };
    context.EntityName.Add(record );
    context.SaveChanges();
}

欲了解更多信息:

http://msdn.microsoft.com/en-us/library/bb336792.aspx

http://msdn.microsoft.com/en-us/data/jj592676.aspx

http://www.entityframeworktutorial.net/significance-of-savechanges.aspx

于 2013-09-26T10:03:04.670 回答
0

嗨,我知道如何编写代码来更新表。但是当我设置断点并使用 savechanges 方法时,我得到属性导出是对象关键信息的一部分,并且无法修改错误。

这听起来更像是一个关键错误。你确定你在那个表上放了一个主键吗?如果不是,那么 EF 本质上只是使用整个表作为键

于 2013-09-26T17:31:18.387 回答