czk*_*czk 14 nhibernate nhibernate-mapping fluent-nhibernate varbinary
如何在源代码大小为varbinary(max)的sql server 2005表中创建一个varbinary字段,以获得流畅的nhibernate?目前我总是得到varbinary(8000)的默认值,这不够大,因为我将存储图像文件.
我尝试过使用CAstle.ActiveRecord但尚未取得任何成功.
[ActiveRecord]
public class MyFile : Entity
{
public virtual string FileName { get; set; }
public virtual string FileType { get; set; }
public virtual int FileVersion { get; set; }
public virtual int FileLength { get; set; }
[Property(ColumnType = "BinaryBlob", SqlType = "VARBINARY(MAX)")]
public virtual byte[] FileData { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
几个小时都未能找到解决方案,所以提前谢谢
捷克克朗
Dan*_*tch 10
我不确定为什么你的ActiveRecord示例不起作用,但你可以尝试设置列的长度.
使用Fluent NHibernate,您应该能够做到
Map(x => x.FileData)
.WithLengthOf(2147483647)
Run Code Online (Sandbox Code Playgroud)
我遇到了与SQL FileStream和Fluent NHibernate类似的问题,我的BLOB写入在8000字节处被截断.以下语法最终解决了问题:
Map(x => x.Bytes)
.CustomSqlType("VARBINARY (MAX) FILESTREAM")
.Length(2147483647)
.Not.Nullable();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10706 次 |
| 最近记录: |