Asp.net mvc 使用实体框架保存更改/更新数据集中的现有对象,而不必单独设置每个属性

Asp.net mvc 使用实体框架保存更改/更新数据集中的现有对象,而不必单独设置每个属性,asp.net-mvc,asp.net-mvc-3,entity-framework,linq-to-entities,entity-framework-4.1,Asp.net Mvc,Asp.net Mvc 3,Entity Framework,Linq To Entities,Entity Framework 4.1,我可以像下面这样做(这不起作用),而不必显式设置对象的每个属性。Product是默认模型绑定器从表单提交中创建的对象,ProductInDb是上下文/数据库中我希望覆盖/更新的对象。两个服务器上的ProductID主键相同 var ProductInDb = context.Products.FirstOrDefault(x => x.ProductID == product.ProductID); ProductInDb = product; context.SaveChanges(

我可以像下面这样做(这不起作用),而不必显式设置对象的每个属性。Product是默认模型绑定器从表单提交中创建的对象,ProductInDb是上下文/数据库中我希望覆盖/更新的对象。两个服务器上的ProductID主键相同

var ProductInDb = context.Products.FirstOrDefault(x => x.ProductID == product.ProductID);

ProductInDb = product;

context.SaveChanges();

您可以附加现有的
产品
,并将其状态设置为
已修改

如果您使用的是
DbContext
API

context.Products.Attach(product);
context.Entry(product).State = EntityState.Modified;

context.SaveChanges();
对于
ObjectContext

context.Products.Attach(product);
context.ObjectStateManager.ChangeObjectState(product, EntityState.Modified);

context.SaveChanges();

不包含“条目”的定义。我需要参考一些东西吗?已在使用System.Data.Objects;还有什么?按ctrl+。没有为条目提供任何内容。@LaserBeak看起来您正在使用
ObjectContext
。查看我的更新答案。@Eranga请查看我的以下问题:@Eranga我尝试了相同的方法,但在编辑已退出的实体时,数据库中出现了唯一性冲突错误。也许你的语法能帮我。