powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / При попытке перейти на NHibernate 3.2 не работает as в entity
4 сообщений из 4, страница 1 из 1
При попытке перейти на NHibernate 3.2 не работает as в entity
    #37589742
NHibernate_User_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,
Пытаюсь перетянуть проект с 2.0 на 3.2, там свой проксифактори, и так-то под 2.0 были проблемы, типа
Код: c#
1.
2.
3.
4.
5.
6.
7.
        /// <summary>
        /// Работает как private только из-под CastleProxy. Из-под LinFu требует public (protected) virtual
        /// </summary>
        protected virtual Type GetUnproxiedType()
        {
            return GetType();
        }



Так теперь под 3.2 не работает такой кусок кода:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
        /// <summary>
        /// Попытаться привести внутренний объект прокси (или сам объект, если прокси нет) к заданному типу.
        /// Работает аналогично операции as, т.е. возвращает null, если приведение невозможно.
        /// </summary>
        public virtual T As<T>() where T : class
        {
            return this as T;
        }



Возвращает ту же ошибку, что была под на 2.0 LinFu (из-за чего мы на 2.0 перешли на CastleProxy):
10799387
(type argument 'T' violates the constraint of type parameter,
Late bound operations cannot be performed on types or methods for which ContainsGenericParameters is true)
...
Рейтинг: 0 / 0
При попытке перейти на NHibernate 3.2 не работает as в entity
    #37589799
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NHibernate_User_,

NH3.2 использует встроенные прокси, которые основаны на... LinFu! На ум приходят 4-ре варианта решения:

1. попробовать дописать Castle-версию прокси-фактори от 3.2 под себя.
2. запостить этот баг на трекере NHibernate и подождать решения.
3. пофиксить баг самостоятельно (если это возможно), приложить патч к багу :)
4. отказаться от generic сущностей.
...
Рейтинг: 0 / 0
При попытке перейти на NHibernate 3.2 не работает as в entity
    #37598897
NHibernate_User_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решили. \\\\И знаете как? Перешли на 3.1 со второго, а не на 3.2
Юзаем тот же кастл.

Ждем версии 3.3 или новой версии кастла, чтоб шла под 3.2(сейчас такой нет).

Как оказалось, сам NH 3.2-то поддерживает внешние прокси, просто не существует под него кастла подходящего, а тот кастл, что идет под 3.1, кидает эксепшион при работе с 3.2.
...
Рейтинг: 0 / 0
При попытке перейти на NHibernate 3.2 не работает as в entity
    #37599045
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NHibernate_User_Ждем версии 3.3 или новой версии кастла, чтоб шла под 3.2(сейчас такой нет).
Не дождётесь.
Раньше поддержкой Castle Bytecode Provider'ов (да и всех остальных тоже) занималась команда NHibernate. Специально, чтобы отказаться от поддержки, они сделали встроенный провайдер, и более ни одну другую реализацию поддерживать не будут.
Так что или пишите провайдер сами, или ищите другие альтернативы (см. мой предыдущий пост).
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / При попытке перейти на NHibernate 3.2 не работает as в entity
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]