Я использую NHibernate с запросом SQL для заполнения некоторых объектов сущности.
У меня есть объект Item, который ссылается на объект User (чтобы указать владельца Item)
class Item
{
public User User;
}
Мой SQL-запрос (на самом деле он более сложный, поэтому я не могу использовать HQL, но я начал с этого, чтобы убедиться, что AddJoin / AddEntity работал):
SELECT {i.*}, {u.*}
FROM Item i INNER JOIN User u ON (i.UserId = u.Id)
WHere i.Id = 5
Вот мой код:
var x = session.CreateSQLQuery(sql)
.AddEntity("i", typeof(Item))
.AddJoin("u", "i.User")
.List();
Когда я запускаю это, я получаю двумерный массив. Каждый элемент в массиве содержит объект Item (с инициализированным свойством User) и сам объект User.
Чего мне не хватает? Я надеялся получить список объектов Item с инициализированным свойством User (именно так я интерпретировал документацию).