次のマッピングを使用して、SerializableオブジェクトをSQLServer2008に格納しています。
<class name="EMSApplication.Data.Domain.Configuration, EMSApplication.Data" table="ems_Configurations" proxy="EMSApplication.Data.Domain.IConfiguration, EMSApplication.Data" lazy="true">
<id name="Id" type="System.Int32">
<column name="Id" not-null="true"/>
<generator class="native"/>
</id>
<property name="Settings" type="Serializable">
<column name="Settings" not-null="true"/>
</property>
</class>
データベースの列型のvarbinary(8000)を生成しています。varbinary(max)を使用するにはどうすればよいですか?
私が使用する場合:
<property name="Settings" type="Serializable" length="2147483647">
<column name="Settings" not-null="true"/>
</property>
また、8000に切り捨てられます。私はNHibernate3.2(流暢ではありません)を使用しています。