Ленивая загрузка части записи с помощью NHibernate - PullRequest
1 голос
/ 29 апреля 2009

Я не уверен, как это объяснить. Так что вот так ...

Я пытаюсь приспособить метод для отложенной загрузки больших двоичных объектов, как описано здесь , но я застрял только с одной таблицей.

У меня есть схема (исправлена ​​в устаревшей системе), которая выглядит примерно так:

MyTable
   ID int
   Name char(50)
   image byte

Это в Informix, а байтовый столбец представляет собой простой большой объект. Теперь обычно я запрашиваю таблицу с "SELECT ID, Name, (image is not null) as imageexists..." и обрабатываю загрузку BLOB-объектов позже.

Я могу построить свою объектную модель, чтобы иметь два разных класса (и, следовательно, два разных определения карты) для обработки отношений, но как я могу «обмануть» nhibernate, чтобы использовать одну и ту же таблицу, чтобы показать это отношение один к одному?

1 Ответ

2 голосов
/ 29 апреля 2009

Краткий ответ: вы не можете.

Вам нужно либо отобразить его дважды, либо (по моему выбору) создать DTO, в котором есть нужные поля. В HQL вы бы сделали что-то вроде:

select new MyTableDTO(t.ID, t.name) from MyTable t
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...