5

I need to map ntext column of a table using the mapping by code feature in NHibernate 3.2, so that it doesn't get truncated to 4000 characters.

What do I neet to change in the following example? "Notes" is the property which has ntext type in sql table:

Property(emp => emp.Notes);

Note: Please don't mix it with fluent NHibernate or hbm file mapping.

4

3 に答える 3

4

だから、私は次のように問題を解決しました:

Property(emp => emp.Notes、map => map.Column(col => col.SqlType( "ntext")));

実際、私たちがする必要があるのは、NHibernateマッパーにSQLの列の実際のタイプを伝えることだけです。:)

解決策は、 jblが指摘するようにここから来ます。

于 2013-02-01T11:52:17.167 に答える
1

たぶん、これを試すことができます。これは、nvarchar(max)列でも機能するはずです。

Property(emp => emp.Notes, m => m.Type(NHibernateUtil.StringClob));

これがお役に立てば幸いです

于 2013-02-01T08:47:51.790 に答える
0

試す:

Property(emp => emp.Notes, mapinfo => mapinfo.Lenth(someHighValue));

指定された長さが varchar に収まる長さよりも大きい場合、NHibernate は別の文字タイプに切り替えます。

于 2013-02-01T07:45:31.340 に答える