Linqを使用してリポジトリ外のクエリを構築している間に、リポジトリ外のエンティティにLinqを公開/漏洩させることなく、データベースでデータをフィルタリングできますか?明らかに、私はQuery()メソッドや仕様オブジェクトのパラメータとしてlamba式を構築できましたが、リポジトリでどのデータプロバイダが使用されているかにかかわらず、Linqを使って効率的な随時クエリを作成したいと考えていました。例えばリポジトリの外部でLinqを使用する可能性があります。
:
var myProductID = myRepo.Query()
.Where(p => p.color.Contains("green"))
.Select(p => p.ID.ToString());
概念は、相互に排他的なようです。
さらに、いくつかのEF Linqクエリは、Linq to Objectsと同じ構文を使用すると動作が異なります(例:SequenceEqual vs ==バイト配列上)。非常に漏れやすい抽象化。 – BrokenGlass
@BrokenGlass:優秀な点。 – jason