Сохраняющиеся потоки Blob с NHibernate
Если у меня есть класс объявляется как:
public class MyPersistentClass
{
public int ID { get; set; }
public Stream MyData {get;set; }
}
Как я могу использовать сопоставления NHibernate для сохранения свойства MyData в базе данных и из нее?
1 ответов
вы можете использовать поток, используя пользовательский тип и сопоставить его в соответствии с вашими потребностями хранения. Но есть некоторые проблемы с использованием объекта Stream, как я упоминаю в моем серия блогов о ленивой потоковой передаче BLOBs и CLOBs с NHibernate.
вам действительно нужен объект Blob, который, в свою очередь, может создавать поток для чтения данных. Поскольку поток содержит информацию о позиции, которую Вы читаете, и ожидает закрытия и удаления, он может создать некоторые проблемы при использовании непосредственно в модели домена.
Я бы предложил вам взглянуть на блог серии а также исходный код NHibernate на.Lob project. Он включает в себя различные варианты отображения только для такой проблемы. Пока документально это не подтверждено, но будет еще больше.