HQL всегда возвращает пустой IList - PullRequest
1 голос
/ 13 февраля 2012

У меня есть этот запрос:

IList<Table1_name> ries = session.CreateQuery("from Table1_name where param1 = '30001'").List<Table1_name>>();

string s = ries[0].foo[0].someAttribute;

Между TABLE1 и TABLE2 есть связь между многими, TABLE3 - это таблица соединений.Классы, представляющие TABLE1 и TABLE2, содержат:

Table1_name.cs: public virtual IList<Table2_name> foo { get; set; }

Table2_name.cs: public virtual IList<Table1_name> foo { get; set; }

Проблема заключается в том, что он всегда возвращает пустую команду IList foo, хотя в базе данных есть данные.

Вывод профилировщика NHibernate выглядит правильно:

SELECT 
...
p.someAttribute  as nazov5_0_,
...
FROM  TABLE3 r
left outer join TABLE2 p
 on r.id = p.id
WHERE  r.param1 = 30001 /* :p0 */
and ...[others conditions are also ok]

Но отображает количество строк, равное 0. И когда я помещаю это в sql commander, он возвращает правильныйданные!

Мне нужно несколько советов, где искать проблему.Может ли это быть вызвано какой-либо ошибкой в ​​отображении nhibernate?Но он не возвращает никаких исключений при отображении .. свойства найдены, все остальное работает, только Count этого IList равен 0 в каждом случае ..

...