質問: EntityConnectionFactory.CreateTransient("metadata=res://entities.csdl|res://entities.ssdl|res://entities.msl"); ``` (たとえば、実行時にXML変換を実行することによって)定義できるテーブルのサブセットに必要なデータ構造のみを作成する方法はありますか?
回答: **免責事項** :私はEntity Framework Effortプロジェクトのオーナーです 私たちのライブラリには、復元ポイントを作成してそこにロールバックできる機能があります。 したがって、このトリックを使用すると、すべてのテーブルが作成されたときに`CreateRestorePoint()` 1回だけ使用し、すべてのテストで`RollbackToRestorePoint`それらを開始でき`RollbackToRestorePoint` 。 (それを機能させるために他のいくつかの方法がありますが、私はあなたが要点を得ていると思います) 毎回テーブルを作成する必要がないので、間違いなくテストの実行が非常に速くなります。 次に例を示します。 ``` var conn = Effort.DbConnectionFactory.CreateTransient(); using (var context = new EntityContext(conn)) { context.EntitySimples.Add(new EntitySimple { ColumnInt = 1 }); context.EntitySimples.Add(new EntitySimple { ColumnInt = 2 }); context.EntitySimples.Add(new EntitySimple { ColumnInt = 3 }); context.SaveChanges(); } // Create a RestorePoint that will save all current entities in the "Database" conn.CreateRestorePoint(); // Make any change using (var context = new EntityContext(conn)) { context.EntitySimples.RemoveRange(context.EntitySimples); context.SaveChanges(); } // Rollback to the restore point to make more tests conn.RollbackToRestorePoint(); ```