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

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

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

Виртуал мешает тем что сборка с моделью уже существует, и в ней свойства не виртуальные. Мне нужно приладить к готовой системе инфраструктуру, которая использует NHibernate для хранения экземпляров модели.
...
Рейтинг: 0 / 0
19.10.2012, 12:22
    #38005584
SolYUtor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить NHibernate использовать модель с не виртуальными свойствами
Ах, да! Еще можно написать свою ProxyFactory с использованием PostSharp или аналогов. Но сделать методы виртуальными намного быстрее.
...
Рейтинг: 0 / 0
19.10.2012, 12:40
    #38005613
Lexxxxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить NHibernate использовать модель с не виртуальными свойствами
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
19.10.2012, 13:05
    #38005657
SolYUtor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить NHibernate использовать модель с не виртуальными свойствами
Lexxxxx,

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

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

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

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

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


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