SQL Server或NHibernate截断文本

时间:2012-10-05 03:01:34

标签: c# sql-server asp.net-mvc-3 nhibernate

我有一个MVC 3项目。在sql server中,我有一个名为NewsContent的字段,它是一个文本字段。

以下是模型中属性的定义:

    [Display(Name = "Content")]
    [DataType(DataType.MultilineText)]
    [AllowHtml]
    public virtual string NewsContent { set; get; }

当我将其保存到数据库时,它会截断。好吧Text为什么要截断?

我该如何解决?

我可以在调试器中看到该对象具有所有文本,当我查看数据库时它被截断。

2 个答案:

答案 0 :(得分:3)

试试这个:

Map(x => x.NewsContent).CustomType("StringClob").CustomSqlType("nvarchar(max)")

答案 1 :(得分:0)

在某些NHibernate版本中,由于底层ADO.NET在某些情况下具有此行为,因此存在截断行为。这在NH 3.3中已经改变,因此如果字符串比允许的长,NHibernate将抛出异常。

以上适用于使用MS SQL Server作为数据库时。如果您正在使用此数据库,或者仍然在此版本的NHibernate中看到此问题,则应将其视为应修复的错误。请报告。