NHibernate:延迟加载属性

时间:2010-11-10 15:11:50

标签: c# .net nhibernate hibernate

因此,根据Ayende Lazy,加载属性已经在NHibernate主干中。

我的问题是:我不能使用trunk我有FluentNHibernate和LinQ for NHibernate,所以我依赖它们链接的版本(Versio 2.x)。我不能也不想在最新版本的NHibernate上自己构建所有程序集。

那么,是否有人获得有关NHibernate 3.0何时离开Beta-Stadium并且辅助人员(Linq等)将被编译的信息?

我很欣赏任何估计!

我需要此功能,因此我可以在Blob-Fields上使用它。我不想使用变通方法来破坏我的对象模型。

2 个答案:

答案 0 :(得分:3)

您可以使用NH 3.0二进制文件编译Fluent,并且不再需要L2NH;有一个新的综合提供商。

答案 1 :(得分:0)

另外,它不是一个模型改变。创建一个具有Id,Version和Bytes属性的新类Blob,创建一个匹配的新表。将新类作为受保护属性添加到当前具有blob的每个类中。像支持商店一样使用它。更改映射以映射基础属性而不是公共属性。

public class MyClass
{
    public MyClass()
    {
        MyBlobProperty_Blob= new Blob();
    }

    public virtual byte[] MyBlobProperty
    {
        get { return MyBlobProperty_Blob.Bytes; }
    }

    protected virtual Blob MyBlobProperty_Blob { get; private set; }
}

然而,这是一个重要的架构更改。此特定解决方案将所有二进制数据移动到一个表中。