我从我的MVC项目调用一个Web服务,如果它成功,则返回进程完成。这个结果,我存储在名为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
}
我不知道如何更新Entity Framework中的表。在这里,我需要更新名为table1
的表并设置column2 = 1,第3列=第4列的值,其中第1列=第1列的值。
我所知道的是:
UPDATE tableName
SET column2 = 1, column3 = context.FirstOrDefault().column4
WHERE column1 = context.FirstOrDefault(). column1
更新:
嗨我知道如何编写代码来更新table.But当我把断点和来到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();
答案 0 :(得分: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
答案 1 :(得分:0)
嗨,我知道如何编写代码来更新表。但是当我把断点并且来到savechanges方法时,我得到属性导出是对象密钥信息的一部分,并且无法修改错误。
这听起来更像是一个Key错误。你确定你在那张桌子上放了一把主键吗? 如果没有,那么EF只使用整个表作为密钥