【发布时间】:2011-01-29 06:58:06
【问题描述】:
我想使用 SQL SERVER 2008 中的 FILESTREAM 功能将图像 (C#) 保存到数据库中。
我已经在 SQL Server 2008 中配置并启用了 FILESTREAM,没有任何问题。
如何通过 Castle ActiveRecord 使用 SQL Server 的这一新功能将图像保存到数据库。
为了告诉城堡 activerecord 使用 FILESTREAM,我必须添加一个属性属性吗?
假设我有以下课程:
[ActiveRecord]
public class Picture : ActiveRecordBase
{
[PrimaryKey]
public int Id { get; set; }
[Property]
public byte[] PictureData { get; set; }
}
这足以使用 SQL SERVER 中的 FILESTREAM 功能吗?我没有找到太多使用 Castle ActiveRecord(NHibernate) 和 FILESTREAM 的示例。
谢谢!
编辑:我不确定发生了什么。似乎无论我做什么,图像数据都直接保存到数据库中,而不是使用 SQL SERVER 2008 FileStream 文档中提到的 NTFS 文件系统。
上面的 PictureData 属性现在看起来像这样:
[Property(SqlType = "VARBINARY(MAX)"]
public byte[] PictureData { get; set; }
编辑:
我发现 Castle ActiveRecord 将 PictureData 字段创建为 varbinary(max) 类型,但它应该是 VARBINARY(MAX) FILESTREAM
你如何告诉 Castle ActiveRecord 创建这样一个字段?
【问题讨论】:
标签: c# sql-server-2008 filestream castle-activerecord