我需要在 SQL Server 2012 中保存一个长 XML 字符串。
目前我在EDMX
数据库中保存一个字符串变量和一个字符串列。
问题是我的 XML 字符串可能很长(> 5000 个字符)
处理此变量的最佳做法是什么(在 C# 和 SQL Server 中)?
使用 XML 列有什么好处?
我需要在 SQL Server 2012 中保存一个长 XML 字符串。
目前我在EDMX
数据库中保存一个字符串变量和一个字符串列。
问题是我的 XML 字符串可能很长(> 5000 个字符)
处理此变量的最佳做法是什么(在 C# 和 SQL Server 中)?
使用 XML 列有什么好处?
我不确定使用 XML 列的确切好处,但就个人而言,我认为使用它是有意义的。或者,您可以使用其他数据类型来存储超过 5000 个字符长的 XML 文件。
您可能还想查看 text/ntext 之类的内容。
看看这里的 T-SQL 数据类型:http: //msdn.microsoft.com/en-us/library/ms187752.aspx
就 C# 的最佳使用而言,本质上,任何 XML 都只是一个字符串,但例如,您可以将 XML 从数据库直接加载到 XmlReader 或 XmlDocument 中,而不是先将其放入字符串中,然后再继续根据需要解析它(只是思考的食物!)
注意:根据个人经验,我构建了自己的实体框架(与 NHibernate 或 Microsoft 的实体框架无关)。这允许 XML 作为任何数据库结构中的数据类型,例如,在 T-SQL 中,它将存储映射为 XML 到 XML 数据类型的对象,但是在未实现 XML 类型的 RDBMS 系统中,实体框架优雅地降级到下一个最接近的合适替代方案。