Linq to NHibernate + трансформации + фьючерсы - PullRequest
0 голосов
/ 09 ноября 2011

Я знаю, что вы можете выполнить запрос Linq to NHibernate в будущем, вызвав метод расширения .ToFuture <> (). Однако я не загружаю сопоставленные объекты, а непосредственно загружаю данные в DTO. Таким образом, вы получите что-то вроде:

var results = (from e in session.Query<Entity>()
               where e.Reference.Id == someId
               orderby e.Name
               select new Dto
               {
                   Id = e.Id,
                   Name = e.Name,
                   // ...
               }).ToFuture<Dto>();

Это не работает так, как я хочу (смею сказать, ожидается ). Теперь я получаю сообщение об ошибке: The value "System.Object[]" is not of type "Entity" and cannot be used in this generic collection. Если я удаляю .ToFuture(), это работает, но запрос не пакетируется.

Я знаю, что вы можете сделать это с помощью API QueryOver, мне просто нравится Linq to NH, потому что он намного чище кода.

1 Ответ

0 голосов
/ 09 ноября 2011

Похоже, ошибка.Если вы можете создать простой контрольный пример воспроизведения, введите новый выпуск по номеру https://nhibernate.jira.com/.

. Перед этим проверьте, используете ли вы последнюю версию (3.2 на тот момент), поскольку она уже аналогичный дефект , который был исправлен в этом выпуске.

...