Я хотел бы сохранить изображения (C #) в базе данных с помощью функции FILESTREAM из SQL SERVER 2008.
Я настроил и включил FILESTREAM в SQL Server 2008 без каких-либо проблем.
Как использовать эту новую функцию из SQL Server через Castle ActiveRecord для сохранения изображений в базе данных.
Есть ли атрибут свойства, который я должен добавить, чтобы указать замку activerecord использовать FILESTREAM?
Предположим, у меня есть следующий класс:
[ActiveRecord]
public class Picture : ActiveRecordBase
{
[PrimaryKey]
public int Id { get; set; }
[Property]
public byte[] PictureData { get; set; }
}
Достаточно ли этого для использования функции FILESTREAM из SQL SERVER?Я не нашел много примеров использования Castle ActiveRecord (NHibernate) с FILESTREAM.
Спасибо!
Редактировать : я не уверен, что происходит.Кажется, что все, что я делаю, данные изображения сохраняются непосредственно в базе данных вместо использования файловой системы NTFS, как упомянуто в документации FileStream SQL SERVER 2008.
Вышеуказанное свойство PictureData теперь выглядит так:
[Property(SqlType = "VARBINARY(MAX)"]
public byte[] PictureData { get; set; }
Редактировать :
Я обнаружил, что Castle ActiveRecord создает поле PictureData в виде varbinary(max)
, но оно должно быть VARBINARY(MAX) FILESTREAM
Как вы скажете Castle ActiveRecord создать такое поле?