gpt4 book ai didi

c# - 在 NHibernate 中保存时长 XML 抛出异常

转载 作者:行者123 更新时间:2023-11-30 16:22:15 26 4
gpt4 key购买 nike

我目前有一个问题,我们试图通过 NHibernate 映射保存一些 XML,这工作正常,除非 XML 达到一定长度。映射看起来像这样:

Property(x => x.Expression, c =>
{
c.NotNullable(true);
c.Column(m => m.SqlType("xml"));
});

抛出的异常是:

The length of the string value exceeds the length configured in the mapping/parameter.

很明显它告诉我字符串太长,尽管作为一个 XML 映射我不认为这会是个问题?通过插入将 XML 直接保存到 SQL Server 数据库中可以正常工作,因此看起来问题出在 NHibernate 映射上。有人有什么想法吗?

最佳答案

尝试将映射更改为以下内容:

Property(x => x.Expression, c =>
{
c.NotNullable(true);
c.Type(NHibernateUtil.XmlDoc);
});

然后您的域对象使用 XmlDocument 而不是字符串。

NHibernate 似乎并不总是正确地将 XML 映射到字符串,尤其是当它很长时。

如果你想更像 LINQy,你可以将 XDocumentNHibernateUtil.XDoc 一起使用,尽管我自己还没有尝试过。

关于c# - 在 NHibernate 中保存时长 XML 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12637607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com