【发布时间】:2013-07-17 10:04:54
【问题描述】:
在我的场景中,我有一个 MVC 关于 iis 序列化实体框架中的对象,其中我已经覆盖了 GetHashCode 和 Equal 方法,因为 一旦提交到数据库,这些对象的 ID 是不可变的。
我也有一些客户端,他们无法访问数据库,但连接到 iis 以通过 json 序列化这些实体并使用 newtonsoft.json 在本地反序列化它们。
当我第二次在客户端反序列化它们以刷新其中的数据时,我希望现有实例能够自动更新。
我的期待有点过头了?
我应该编写一些克隆方法来复制属性并检查现有 ID 的缓存吗?
我在 Equal 和 GetHashCode 方法中写错了吗?
例如:
- 我在数据库中有一个带有标题的博客实体
- 客户端连接到 iis
- 获取包含 {"Id" : 1, "Name" : "blogName"} 的 json 字符串
- 反序列化并存储在本地
- 以与我在客户端使用的类博客中的可观察集合相同的方式将帖子添加到博客
- 某人或某事更改数据库中的博客名称
- 客户端尝试刷新
- 获取包含 {"Id" : 1, "Name" : "newBlogName"} 的 json 字符串
- 将其反序列化为具有相同 id 的类 blog 的新实例
接下来是什么?将新实例名称复制到旧实例名称,或者有更好的方法吗?
【问题讨论】:
标签: asp.net-mvc json entity-framework serialization