2010-11-10 73 views
1

所以,根据Ayende懒加载属性已经在NHibernate的主干。NHibernate:懒加载属性

我的问题是:我不能使用主干,因为我有NHibernate的FluentNHibernate和LinQ,所以我依赖它们链接的版本(Versio 2.x)。我不能也不想根据最新版本的NHibernate构建所有程序集。

那么,有人得到关于何时NHibernate 3.0将离开Beta-Stadium和辅助器(Linq等)将被编译的信息吗?

我感谢您的任何估计!

我需要这个功能,所以我可以在Blob-Fields上使用它。我不想使用替代方法来销毁我的对象模型。

回答

3

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

+0

听起来不错,会尝试! – Falcon 2010-11-10 15:48:35

+0

请在这里看到这个职位:http://stackoverflow.com/questions/4163374/fluentnhibernate-loading-entities-from-multiple-assemblies – Falcon 2010-11-12 13:18:37

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; } 
} 

但是,这是一个重大的模式更改。这个特殊的解决方案将所有的二进制数据移入一个表中