我有一个带有LINQ to SQL数据上下文的Asp.Net 4.0动态数据网站。 SQL Server数据库中的一列是NVARCHAR(MAX)并包含XML片段。我已将其映射到.dbml文件中的XElement。我已经为该属性的UIHint添加了该类的元数据,并且我编写了一个自定义字段模板,该模板在TreeView中显示XML内容。 很像How to edit a SQL Server XML data field with asp.net Dynamic Data
现在我想实际编辑数据字段。一个简单的文本编辑器会这样做我想我会复制MultiLine_Edit字段模板。在编辑页面上它确实显示,我可以编辑内容。但是当我按下更新时,这种方法有点过于简单,我在页面顶部得到一个红色List of validation errors: The value is not valid.
。
我注释掉了DynamicValidator,但现在我得到了一个ServerError,它无法保存我的编辑,因为它将我的编辑从String转换为XElement失败。
我找到了old post on the asp.net forums from someone trying to do the same thing,但它没有显示解决方案。
所以我的问题是:我的XML_Edit字段模板应该是什么样的?
答案 0 :(得分:1)
请尝试使用XDocument
类型,这是可序列化的。
答案 1 :(得分:0)
LINQ to SQL和动态数据不能很好地协同工作。
所以不要将XML内容映射到XElement。将其映射到字符串。
您可以正常使用自定义字段模板,但可以将它们基于字符串。