Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> NHibernate преобразование Base->Child, Как правильно осуществлять 
:(
    Опции темы
bars
Дата 11.11.2009, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.3.2007

Репутация: нет
Всего: нет



Предположим, есть следующие классы 

Код

public abstract class Animal
public class Dog : Animal
public class Cat : Animal


а также 2 класса

Код

public class DogOwner : AnimalOwner
public class AnimalOwner 
{
   public virtual Animal OwnedAnimal {get;set;}
}



При попытки запуска кода:

Код

public void ProcessDogOwner(DogOwner owner)
{
   Dog dog = (Dog)owner.OwnedAnimal;
}

получаем исключение, связанное с невозможностью конвертации типа...
В принципе, я понимаю, почему так происходит -  ленивая загрузка создает класс Animal, а не подкласс Dog, в момент обращения к соответствующему полю owner'a... Не понятно, каким образом можно заставить работать? Подскажите, пожалуйста, кто знает. 


PM MAIL   Вверх
bars
Дата 12.11.2009, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.3.2007

Репутация: нет
Всего: нет



Если отключить Lazy Loading - всё работает....
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.1012 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.