Sql server 如何将SQL Server`varbinary(max)`字段映射为NHibernate字节码映射?

Sql server 如何将SQL Server`varbinary(max)`字段映射为NHibernate字节码映射?,sql-server,nhibernate,nhibernate-mapping,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))

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

到目前为止,通过使用
SchemaAction=SchemaAutoAction.Recreate
让NH创建模式,我得到了以下结果(类属性名为“Data”):

  • 当映射在任何方面都不合格时,我最终会得到一个
    varbinary(8000)
    字段
  • 当映射为
    map.Property(x=>x.Data,m=>m.Length(int.MaxValue))
    时,我会得到一个“image”字段(根据SQL Server文档,下一版本的SQL Server将不支持该字段)
  • 当映射是
    map.Property(x=>x.Data,m=>m.Type(TypeFactory.GetBinaryType(int.MaxValue))
    时,我最终得到了一个
    varbinary(8000)
    字段,这似乎是错误的

我错过了什么?

我也遇到了同样的问题,这对我很有效

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