考虑一下:
<DataGridTemplateColumn Header="Message" Width="60" MinWidth="60">
现在,如果我想将其移到服务器上,为了将它们保存到数据库中,只要我使用像JSON或XML这样的seralisation,指针关系就会丢失。
例如,服务器脚本如何知道,var master = {
type:"master"
};
var slave = {
type:"slave"
};
var array = [ master, slave, slave ];
和slave
只是相同的对象?
e.g。这将创建三个不同的DB行,一个用&#34; master&#34;在列slave
中,以及两个不同的行&#34; slave&#34;在专栏type
。
你是如何处理的?在某些情况下广泛使用的是某种模式吗?
答案 0 :(得分:2)
我不确定是否有一种简单的方法可以达到你想要的效果。我会考虑做以下事情:
使用“获取或创建”方法管理是否在保存时为object
列创建新记录,并在object.type
或("array", "object.type")
上添加唯一约束取决于您的使用案例。
使用基于RFC-6901的库,例如json-pointer来完成以下操作:
//on the client
var obj = {};
pointer.set(obj, '/example/bla', 'hello');
//on the server
var obj = {
example: {
bla: 'hello'
}
};
pointer.get(obj, '/example/bla');