Nhibernate当参数值超过4000个字符时,截断存储过程输入参数

Vah*_*iri 4 nhibernate nhibernate-mapping

如何在Nhibernate映射文件中指定存储过程的字符串输入参数的长度.

这是我的映射内容

<sql-query name="Sp_News" resultset-ref="NewsPackResultSet" cacheable="false">

    <query-param name="SearchString"       type="System.String" />
    <query-param name="StartDate"          type="System.DateTime" />

          exec dbo.Sp_News:SearchString,:StartDate

</sql-query>
Run Code Online (Sandbox Code Playgroud)

当SearchString参数的长度超过4000个字符时,Nhibernate会截断该参数值.我该如何解决这个限制?

任何帮助,将不胜感激.

Nag*_*agg 6

发现这个问题也找到了答案:

IQuery query = session.GetNamedQuery("Sp_News");
query.SetParameter("SearchString", longString, NHibernateUtil.StringClob);
Run Code Online (Sandbox Code Playgroud)

NHibernateUtil.StringClob是关键:-)