NHibernate: Ленивая Загрузка Свойства - PullRequest
1 голос
/ 10 ноября 2010

Итак, согласно Ayende Lazy Loading Properties уже находятся в стволе NHibernate.

Моя проблема: я не могу использовать транк, потому что у меня есть FluentNHibernate и LinQ для NHibernate, поэтому я зависел от версии, с которой они связаны (Versio 2.x). Я не могу и не хочу собирать все сборки самостоятельно из новейшей версии NHibernate.

Итак, кто-то получил информацию о том, когда NHibernate 3.0 покинет Бета-стадион, и вспомогательные средства (Linq и т. Д.) Будут скомпилированы против него?

Я ценю любую оценку!

Мне нужна эта функция, чтобы я мог использовать ее на полях BLOB-объектов. Я не хочу использовать обходные пути, чтобы уничтожить мою объектную модель.

Ответы [ 2 ]

3 голосов
/ 10 ноября 2010

Вы можете скомпилировать Fluent с бинарниками NH 3.0, и вам больше не нужен L2NH; появился новый интегрированный провайдер.

0 голосов
/ 11 ноября 2010

В качестве альтернативы, это не так уж и сложно. Создайте новый класс Blob, имеющий свойства Id, Version и Bytes, и создайте новую таблицу для сопоставления. Добавьте новый класс в качестве защищенного свойства для каждого из ваших классов, которые в данный момент имеют большой двоичный объект. Используйте это как магазин поддержки. Измените сопоставление, чтобы сопоставить базовое свойство вместо общедоступного.

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

Однако это значительное изменение схемы. Это конкретное решение перемещает все ваши двоичные данные в одну таблицу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...