如果我有一个类声明为:
public class MyPersistentClass { public int ID { get; set; } public Stream MyData {get;set; } }
如何使用NHibernate的映射将MyData属性保存到数据库和从数据库中保存?
您可以使用自定义类型的Stream并根据您的存储需求进行映射.但是在我的博客系列中提到使用Stream对象时存在一些问题,这些问题是关于使用NHibernate的BLOB和CLOB的延迟流式传输.
你真正需要的是一个Blob对象,它反过来可以创建一个Stream来读取数据.由于Stream包含有关您正在阅读的位置的信息,并且希望关闭和处理它,因此在直接在域模型中使用时会产生一些问题.
我建议你看一下博客系列以及NHibernate.Lob项目的源代码.它包括针对此类问题的各种映射选项.到目前为止,有一点记录不多,但还有更多.