如何使用NHibernate ByCode映射映射SQL Server`varbinary(max)`字段?

时间:2011-05-24 21:36:09

标签: sql-server nhibernate nhibernate-mapping

我有一个类byte[]属性的类,我想使用新的NHibernate ByCode映射映射到SQL Server中的varbinary(max)字段。

到目前为止,使用SchemaAction = SchemaAutoAction.Recreate为了让NH创建模式,我最终得到了以下内容(类属性名称为“Data”):

  • 如果映射没有任何限定,我最终会得到varbinary(8000)字段
  • 当映射为map.Property(x => x.Data, m => m.Length(int.MaxValue))时,我最终得到一个“图像”字段(根据SQL Server文档,SQL Server的下一版本将不支持该字段)
  • 当映射为map.Property(x => x.Data, m => m.Type(TypeFactory.GetBinaryType(int.MaxValue))时,我最终得到一个varbinary(8000)字段,这似乎不对。

我错过了什么?

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,这对我有用。

Property(e => e.Data, m => m.Column(cm => cm.SqlType("varbinary(MAX)")));