私はEF6を使用しています。私は現在、集約のためのいくつかのテストを設定しています。 Effort.EF6を使用することに決めました。データベースエンジン全体をインストールすることなくテストを実行したいからです。
私のDbContextは、マイグレーションといくつかのデータを挿入するシードメソッドを使用します。 Effort.EF6はそれを利用できますか、またはデータをシードするEffortのメソッドを使用する必要がありますか?
移行は自動的に行われます。データが必要なときは、通常のコンテキストシードメソッドを呼び出します。コンテキスト(テストごと、またはテストアセンブリごと)の範囲に応じて、シードを行うためにたくさんのクエリを実行している可能性があることに注意してください。パフォーマンス上の問題とデバッグの問題があります。シードバグがテストでバグとして表示され、シード中に発生したログが各テストの一部としてログに記録されるためです。
var connection = Effort.DbConnectionFactory.CreateTransient();
var context = new DbContext(connection);
context.Seed();