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

标签 sql-server nhibernate nhibernate-mapping

我有一个类型为 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/

相关文章:

vb.net - NHibernate 多对多条件创建多个数据库调用

C# SQL参数查询带in

c# - 平面文件目标 预执行阶段失败。无法打开数据文件

java - JPA - 如何在 DDL 中将字符串列设置为 varchar(max)

c# - 具有 O(1) 查找的数据传输对象

java - @NotNull 在 JPA/Hibernate 中默认

python - Sqlalchemy 不会为 MSSQL GETDATE() 服务器默认发出正确的 SQL

c# - 如何使用 Nhibernate 多次内连接同一张表

c# - Nhibernate Linq - 选择评分最高的项目

c# - (流利的)NHibernate table-per-hierarchy; Id 仅与鉴别器一起唯一