NHibernate: не может выбрать после пропуска принять в определенном сценарии
По какой-то причине я не могу использовать Select() после Skip()/Take(), если я не сделаю это определенным образом. Следующий код работает и позволяет мне использовать результат как часть подзапроса.
var query = QueryOver.Of<MyType>();
query.Skip(1);
var result = query.Select(myType => myType.Id);
Однако, если я попытаюсь создать запрос в одной строке, как показано ниже, я не смогу скомпилировать.
var query = QueryOver.Of<MyType>().Skip(1);
var result = query.Select(myType => myType.Id);
Похоже, что код первого результата приводит к тому, что запрос имеет тип QueryOver
Это также работает, если написано так.
var query = QueryOver.Of<MyType>().Select(myType => myType.Id).Skip(1);
Любые идеи, почему вторая версия ужасно терпит неудачу, когда первая и третья версии работают? Это кажется странным поведением.
1 ответ
У вас есть опечатка во второй версии...
var query = QueryOver.Of<MyType().Skip(1);
отсутствует >
var query = QueryOver.Of<MyType>().Skip(1);
Не уверен, что это то, что вы ищете.