gpt4 book ai didi

entity-framework - 更新 Entity Framework 对象

转载 作者:行者123 更新时间:2023-12-03 10:54:27 24 4
gpt4 key购买 nike

我使用数据传输对象在 Entity Framework 与业务层和用户层之间传输数据。我确实有一些疑问,如果我检索一个转换为 DTO 的对象,我该如何更新 Entity Framework 中的正确对象,而不仅仅是插入重复项?

最佳答案

以下代码将从强类型 View 更新已在 MVC 中作为 Controller 参数创建的 EF 4 实体:

似乎诀窍是使用 ObjectStateManager 在实体添加到上下文后将状态从添加更改为修改。

MyEntities db = new MyEntities();
db.Product.AddObject(product);
db.ObjectStateManager.ChangeObjectState(product, System.Data.EntityState.Modified);
return db.SaveChanges() > 0;

根据@Sean Mills 的评论,如果您使用的是 EF5,请使用:
 ((IObjectContextAdapter) db).ObjectContext.ObjectStateManager.ChangeObjectState(entity, System.Data.EntityState.Added);

关于entity-framework - 更新 Entity Framework 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/623672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com