У меня есть список объектов, который содержит информацию о контракте List<Contract> endedContracts
, которая уже была отфильтрована из большого списка. Сейчас я пытаюсь сопоставить информацию в этом списке с записями в моей базе данных с некоторыми дополнительными фильтрами.
var endedContracts = _contracts
.Where(x => x.Contract.IsContractInLastBillingPeriod(referencePeriod))
.Where(x => x.Contract.IsContractCoveredByLiveInvoices(x.Contract.Invoices)).ToList();
Когда я запускаю приведенный ниже запрос, я получаю сообщение об ошибке.
var crystallisedCommissions = _context.Contracts
.Where(x => x.Statement.Sent)
.Where(x => x.Statement.Broker == endedContracts.First().Broker.Code)
.Where(x => !Period.IsPeriodBeforeReferencePeriod(x.Statement.Period, CUT_OFF_PERIOD))
.Where(x => endedContracts.Any(y => y.Contract.Identifier == x.Identifier
&& y.Contract.StartDate == x.ContractStartDate
&& y.Contract.EndDate == x.ContractEndDate)).ToList();
Точная ошибка:
Невозможно создать постоянное значение типа 'Контракт'. В этом контексте поддерживаются только примитивные типы или типы перечисления. "