2011-05-24 93 views
3

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

到目前为止,才能有NH创建架构使用SchemaAction = SchemaAutoAction.Recreate,我已经结束了与以下(类属性名称是“数据”):

  • 当映射没有任何资格这样,我结束了一个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)字段,这似乎是错误的

我错过了什么?

回答

2

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

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