EntityFramework (最初にコード) に基づいてソリューションをテストする方法の 1 つは、(DbSet ではなく) IDbSet 型のプロパティを含むカスタム コンテキストのインターフェイスを作成することです。次に、単体テストで InMemoryDbSets を使用します。
私は EntityFramework を初めて使用しますが、それは素晴らしい方法のように思えました。しかし、それはまったく機能しませんか?InMemory DbSet を使用している場合、エンティティ オブジェクトの任意のプロパティを使用するクエリを作成して実行できます。それらが計算されたプロパティであっても。ただし、実行時に同じクエリが「指定された型メンバー 'PropertyName' は LINQ to Entities ではサポートされていません。初期化子、エンティティ メンバー、およびエンティティ ナビゲーション プロパティのみがサポートされています。」をスローします。
したがって、IDbSets でカスタム コンテキストを使用している場合、(おそらく) 何かを理解できないか、単体テストをまったく実行できません。