我有一个N层应用程序,其中POCO由服务器端的Entity Framework填充并传输到我的客户端应用程序。客户端对POCO进行更改或添加新的POCO,然后将它们发送回服务器以存储在数据库中。
如果我使用纯POCO,即没有代理,而不是自我跟踪实体,那么人们采取哪些常见方法来解决变更跟踪问题?如果您的服务收到POCO集合,那么它如何知道使用实体框架进行添加,更新或删除?
答案 0 :(得分:6)
实体框架对此类断开连接的方案没有良好的内置支持。我知道三个一般选项:
使用GraphDiff,一个开源附加库
<强>优点强>
的缺点强>
在服务器端(Example)
手动更新对象图<强>优点强>
的缺点强>
通过相应地设置状态,将实体状态的属性添加到对象并在客户端手动跟踪更改(我没有这种方法的示例;我相信,Julie Lerman正在使用并推荐它)< / p>
<强>优点强>
的缺点强>