Effortでコンテキストを作成しようとすると、Entity Framework 6が移行例外をスローします。


質問

Effortを使用してアプリケーションをテストしようとしていますが、コードに基づいた移行がコンテキストで有効になっている場合、次の例外がスローされます。

System.InvalidOperationException:コンテキスト 'XDbContext'の移行が有効になっていますが、データベースが存在しないか、マップされたテーブルが含まれていません。 Migrationを使用して、データベースとそのテーブルを作成します。たとえば、Pac​​kage Managerコンソールから 'Update-Database'コマンドを実行します。

移行を無効にすると、すべて正常に動作します。

エンティティがテストの目的でマイグレーションを検討することを止めるにはどうすればよいですか?

人気のある回答

私はユニットテストプロジェクトで同じエラーが発生し続けました。私はCreateIfNotExist()関数を呼び出すことでTestInitialize関数を変更して解決しました

    [TestInitialize]
    public void Initialize()
    {
        DbConnection connection = Effort.DbConnectionFactory.CreateTransient();

        context = new MyAccessContext(connection);
        context.Database.CreateIfNotExists();
        service = new YourClass(context);
    }




ライセンスを受けた: CC-BY-SA
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ