クエリがリポジトリ内で修正されているかどうか (より良いオプション、IMO)、またはリポジトリが構成可能なクエリを公開しているかどうかに依存すると思います。例-リポジトリメソッドがある場合:
IQueryable<Customer> GetCustomers() {...}
次に、UI は次のように要求できます。
var foo = GetCustomers().Where(x=>SomeUnmappedFunction(x));
bool SomeUnmappedFunction(Customer customer) {
return customer.RegionId == 12345 && customer.Name.StartsWith("foo");
}
これは、オブジェクト ベースの偽のレポでは成功しますが、実際のdb 実装では失敗します。もちろん、リポジトリにすべてのクエリを内部で処理させることでこれを無効にすることができます (外部構成はありません)。例えば:
Customer[] GetCustomers(int? regionId, string nameStartsWith, ...) {...}
これは構成できないため、DB と UI を個別に確認できます。構成可能なクエリを使用すると、統合テストを有効にしたい場合は、全体で統合テストを使用する必要があります。