在Entity Framework中添加或更新复杂的反序列化对象

时间:2013-03-06 09:58:38

标签: entity-framework asp.net-mvc-4 entity-framework-4 asp.net-web-api

我们正在使用MVC 4中的Entity Framework创建一个WebAPI。我们的客户端希望发送包含相关对象的复杂对象 - 包括新对象和更新对象。根对象也可能是新的或现有的。客户端生成主键 - 我们正在使用Guids。所以在服务器上我们真的不能说我们有一个现有的对象更新或一个新的。处理这种情况的最佳方法是什么?我们需要某种添加或更新功能,我们还不清楚如何继续使用Entity Framework。

1 个答案:

答案 0 :(得分:2)

EF doesn't have any build in support for discovering changes in detached object graph。您必须在每个对象中包含一些字段,以描述对象是否为新对象,未修改,更新或删除(您还需要类似的行为来跟踪多对多关系中的更改)。如果您不使用此类字段,则除了查询数据库并将当前数据库状态与从客户端接收的数据进行比较以查找已更改的内容之外,您没有其他方法。