我有一个类型为 byte[]
的类,我想使用新的 NHibernate ByCode 将其映射到 SQL Server 中的 varbinary(max)
字段映射。
到目前为止,为了让 NH 创建模式,使用 SchemaAction = SchemaAutoAction.Recreate
,我得到了以下结果(类属性名称是“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)
字段,这似乎是错误的
我错过了什么?
最佳答案
我遇到了同样的问题,这对我有用。
Property(e => e.Data, m => m.Column(cm => cm.SqlType("varbinary(MAX)")));
关于sql-server - 如何使用 NHibernate ByCode 映射映射 SQL Server `varbinary(max)` 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6117217/