EF5 で以下のクエリを実行しようとしています。
var data = from adi in _repo.AccountingDocumentItems
from e in adi.Employees
let c = adi.Employees.Count()
where
(adi.AccountingDocument.DocumentDate >= start && adi.AccountingDocument.DocumentDate <= queryEnd) &&
(c > 0) &&
(_repo.AccountingEntries.Count(p => p.AccountingDocumentId == adi.AccountingDocumentId) != 0))
破損している部分は、AccountingDocumentItem の AccountingDocumentId にリンクされている AccountingEntries 項目が存在するかどうかを確認しようとする where 句の最後の行です。エラーが発生します:
「型 'AppName.Domain.Entities.AccountingEntry' の定数値を作成できません。このコンテキストでは、プリミティブ型または列挙型のみがサポートされています。」
これらのアイテムのカウントを具体的に選択しているため、これが発生する理由がわかりません。私も同じ結果で次のことを試しました:
_repo.AccountingEntries.Any(x => x.AccountingDocumentId == adi.AccountingDocumentId)
任意の入力をいただければ幸いです。
ゲイリー。