Использование FluentNhibernate 1.3.0.0, NHibernate 3.3.1.4000 в базе данных DB2 LUW 9.7.FluentNhibernate: запрос для получения отдельных значений
Я хочу получить отдельные данные только из одной таблицы/сущности. В SQL подмигнул легко:
select distinct Corporation, CalculationDate, ValuationRule
from MySchema.MyTable
where State == 0
Теперь я пытаюсь получить эти данные с помощью Linq, но won't работы ...
Сначала попробуйте выбрать:
var result = Session.Query<MyEntity>()
.Where(x => x.State == State.Pending)
.Select(
x =>
new
{
Corporation = x.Corporation,
CalculationDate = x.CalculationDate,
ValuationRule = x.ValuationRule,
}).Distinct().ToList();
Исходящее исключение: Тип выражения 'NhDistinctExpression' не поддерживается этим SelectClauseVisitor.
второй попытки, используя GroupBy и получение только ключи:
var result = Session.Query<MyEntity>()
.Where(x => x.State == State.Pending)
.GroupBy(
x =>
new
{
Corporation = x.Corporation,
CalculationDate = x.CalculationDate,
ValuationRule = x.ValuationRule,
}).Select(x => x.Key).ToList();
Результирующая Исключение: "Не удалось выполнить запрос". Жалоба на другое поле «Модель», отсутствующее в разделе group by, которое указано в выбранном термине. Это меня совершенно сбивает с толку, поскольку указанное поле существует в таблице, но я не хочу использовать это поле в этом случае использования ...
Что мне не хватает?
Спасибо, я попробовал оба варианта. Оба бросают исключение «Невозможно выполнить поиск [SQL: SQL недоступно]». Внутреннее исключение (переведенное): «System.Object [] не является значением типа MyEntity и не может использоваться в этом общем листинге». – Udontknow
Возможно, вам нужно передать в массив объектов '.ToList