在Sql Server中我使用XML类型列来存储消息。我不想存储重复的消息。Sql Server XML类型列重复条目检测
我只会为每个用户发送几条消息。我目前正在查询这些消息的表格,将XML转换为C#代码中的字符串。然后我将这些字符串与我即将插入的内容进行比较。
不幸的是,Sql Server漂亮地打印XML类型字段中的数据。存储到数据库中的内容不一定与您稍后返回的字符串完全相同。它在功能上是等效的,但可能已删除空格等。
是否有一种有效的方法来比较我正在考虑插入的XML字符串与已经在数据库中的字符串?另外,如果我检测到重复,我需要删除旧信息,然后插入替换。
+1好问题!这是XML中棘手的方面之一 - 我不是一个简单的解决方案,恐怕...... – 2010-03-09 18:22:09
失去了兴趣?找到更好的解决方案? – 2010-03-17 10:11:58
@ p.marino:不,我没有完全失去兴趣。我想接受你的解决方案,但是存储数据库中已有内容的散列似乎并不正确。我几乎宁愿放弃使用XML类型字段,然后回到varchar。我会将此添加为“解决方案”,但我不会接受这一点。 – 2010-03-17 20:21:19