StudioとC#でEffortを使用してデータベースを再作成し、ユニットテストしています。私は単一のテーブルのためのクラスを書いているので、私はそのテーブルのオブジェクトでデータベースにデータを取り込みます。私の問題は、Effortデータベースが、オブジェクトの外部キーがデータベース内の実際のオブジェクトを参照することを望んでいることです。私のエラーはSystem.Data.Entity.Infrastructure.DbUpdateException:エントリの更新中にエラーが発生しました。詳細については、内部例外を参照してください。System.Data.Entity.Core.UpdateException:エントリの更新中にエラーが発生しました。詳細については、内部例外を参照してください。System.Reflection.TargetInvocationException:呼び出しのターゲットによって例外がスローされました。SettingsId]。SettingsId]に存在しません。エラーコード:RelationErrorこの特定のテーブルは多くの他の外部キーを持つオブジェクトに多くの外部キーを持っているので、多くの作業が必要になります。私もこの問題に遭遇し、大きなデータベースの範囲でテーブルをテストしたかったのです。必要なものすべてをインスタンス化し、その結果としてデータベースまたはテーブルを参照渡しするヘルパーメソッドを作成できます。それはあなたが必要とするテストメソッド/クラスからいつでも呼び出すことができるので役に立ちます。blah人気のある回答テスト専用にデータベースから新しい.edmxファイルを作成することができます。>エンティティデータモデルを選択します。Designer」を選択します。"testConnectionString"として保存します。データモデルデザイナーで、不要な外部キー関係を削除します。デザイナを保存し、プロジェクトを再構築します。Effortで、新しい.edmxを作成したときに生成された接続文字列の名前を次のようにCreateTransient渡します。MyDbContext(connection);これにより、関連する外部キー表にデータを入れる必要なく、表に値を挿入できます。これには警告があります。テストしているコードが外部キーに依存するナビゲーションプロパティを使用している場合、それは失敗します。これは、このような「単体テスト」がいかに貴重なのか不思議に思います。