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

时间:2011-11-19 17:32:20

标签: 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>

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:6)

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

IQuery query = session.GetNamedQuery("Sp_News");
query.SetParameter("SearchString", longString, NHibernateUtil.StringClob);

NHibernateUtil.StringClob 是关键: - )