Linq2NHibernate が解析して入力済みのエンティティを返す NHibernate に渡される linq クエリがあります。
string firstName = "Ryan";
Store store = _repository.Query<Store>().Where(x => x.Employees.Select(y => y.FirstName).Contains(firstName)).FirstOrDefault();
面倒なところはx => x.Employees.Select(y => y.FirstName).Contains(firstName)
これが行うべきことは、Ryan という名前の従業員がいる店舗を選択することです。
上記の行に「 Unhandled Expression Type: 1004」というエラーが表示されます
それはLinq2NHibernateの制限であり、.Select().Contains()
解析できないようです。
何か案は?他の誰かがこのエラーを受け取ったことがありますか? 修正または回避するにはどうすればよいですか?
[編集]
これが私が代わりに使用した最終的なものです。
string firstName = "Ryan"
Store store = _repository.Query<Store>().Where(x => x.Employees.Any(y => y.FirstName == firstName)).FirstOrDefault();
Linq クエリはx => x.Employees.Any(y => y.FirstName == firstName)