powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как заставить NHibernate использовать модель с не виртуальными свойствами
10 сообщений из 10, страница 1 из 1
Как заставить NHibernate использовать модель с не виртуальными свойствами
    #38005445
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некоторая модель, в которой свойства объектов не являются виртуальными. Что-то вроде:

Код: c#
1.
2.
3.
4.
5.
6.
7.
public class MyEntity
    {
        int id;
        public int ID{get;}

        public int MyProperty{get; set;}
    }



Можно ли каким-то образом заставить NHibernate использовать эту модель и при этом не потерять отложенную загрузку?
...
Рейтинг: 0 / 0
Как заставить NHibernate использовать модель с не виртуальными свойствами
    #38005535
pyroman69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexxxxxЕсть некоторая модель, в которой свойства объектов не являются виртуальными. Что-то вроде:

Код: c#
1.
2.
3.
4.
5.
6.
7.
public class MyEntity
    {
        int id;
        public int ID{get;}

        public int MyProperty{get; set;}
    }



Можно ли каким-то образом заставить NHibernate использовать эту модель и при этом не потерять отложенную загрузку?
а чем виртуал так помешал?
тут почитайте
...
Рейтинг: 0 / 0
Как заставить NHibernate использовать модель с не виртуальными свойствами
    #38005580
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexxxxxМожно ли каким-то образом заставить NHibernate использовать эту модель и при этом не потерять отложенную загрузку?
Нет.
Если ваша модель - делайте виртуальными. Если сторонний код, то можно воспользоваться чёрной магией .
...
Рейтинг: 0 / 0
Как заставить NHibernate использовать модель с не виртуальными свойствами
    #38005583
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pyroman69,

Там вроде написано ()ну по крайней мере мой английский мне вчера так говорил) что нужно для счастья отключить отложенную загрузку. Но вот этого как раз и не хочется!

Виртуал мешает тем что сборка с моделью уже существует, и в ней свойства не виртуальные. Мне нужно приладить к готовой системе инфраструктуру, которая использует NHibernate для хранения экземпляров модели.
...
Рейтинг: 0 / 0
Как заставить NHibernate использовать модель с не виртуальными свойствами
    #38005584
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ах, да! Еще можно написать свою ProxyFactory с использованием PostSharp или аналогов. Но сделать методы виртуальными намного быстрее.
...
Рейтинг: 0 / 0
Как заставить NHibernate использовать модель с не виртуальными свойствами
    #38005613
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://nhforge.org/blogs/nhibernate/archive/2008/10/31/entity-name-in-action-entity-abstraction.aspx

Фраза оттуда:
"proxy : is the interface (the domain); using it as proxy I can avoid virtual methods in the implementation because the underlining Dynamic-Proxy will inherit from the interface. Using interface I have many others vantages but is to long explain each (only one for example: I can cast a proxy-instance to an interface)"

Так что вроде можно выкрутиться?
...
Рейтинг: 0 / 0
Как заставить NHibernate использовать модель с не виртуальными свойствами
    #38005657
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexxxxx,

у вас ведь уже есть готовая сборка. Как собираетесь заставить классы в ней отнаследовать интерфейсы?
...
Рейтинг: 0 / 0
Как заставить NHibernate использовать модель с не виртуальными свойствами
    #38005726
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorLexxxxx,

у вас ведь уже есть готовая сборка. Как собираетесь заставить классы в ней отнаследовать интерфейсы?

Упс, гоню! ) Но в случае самописанной модели (чтобы знать на будущее) этот подход обеспечит то что нужно? Как я понял достаточно во флюент маппинге будет указать Proxy<IMyEntity>() для всех своих сущностей?
...
Рейтинг: 0 / 0
Как заставить NHibernate использовать модель с не виртуальными свойствами
    #38005913
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexxxxx,

раз Фабио пишет, то наверно можно. Непонятно только нафига. В общем, хотите экспериментов - экспериментируйте.
...
Рейтинг: 0 / 0
Как заставить NHibernate использовать модель с не виртуальными свойствами
    #38006038
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorLexxxxx,
раз Фабио пишет, то наверно можно....

Похоже и правда можно. Только вот не понятно как оно работает. Интерфейс который передается в Proxy<IMyEntity>() почти пуст. В нем только ИД. Как оно так получается? )
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как заставить NHibernate использовать модель с не виртуальными свойствами
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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