如何使用NHibernate ByCode映射映射SQL Server`varbinary(max)`字段?
问题描述:
我有一个类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)
字段,这似乎是错误的
我错过了什么?
答
我遇到了同样的问题,这对我有效。
Property(e => e.Data, m => m.Column(cm => cm.SqlType("varbinary(MAX)")));