如果我有一个类声明为:

public class MyPersistentClass
{
     public int ID  { get; set; } 
     public Stream MyData  {get;set; }
}

如何使用 NHibernate 的映射将 MyData 属性保留到数据库或从数据库保留 MyData 属性?

有帮助吗?

解决方案

您可以使用自定义类型的 Stream,并根据您的存储需求映射它。但是正如我在我的文章中提到的,使用 Stream 对象存在一些问题 有关使用 NHibernate 延迟传输 BLOB 和 CLOB 的博客系列.

您真正需要的是一个 Blob 对象,该对象又可以创建一个 Stream 来从中读取数据。由于 Stream 包含有关您正在读取的位置的信息,并且希望关闭和处置它,因此在域模型中直接使用时可能会产生一些问题。

我建议你看一下 博客系列 以及源代码 NHibernate.Lob 项目. 。它包含针对此类问题的各种映射选项。到目前为止,几乎没有记录,但更多的信息即将到来。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top