この投稿 で説明されているように、Entity Frameworkのデータ移行を使用しようとしています。
ただし、Enable-Migrations
ステップを実行しようとすると、パッケージマネージャーコンソールで次のエラーが表示されます。
The target context 'MyDataContext' is not constructible. Add a default constructor or provide an implementation of IDbContextFactory
そのため、IDbContextFactory
クラスを含むプロジェクトにDbContext
を実装するファクトリクラスを作成しましたが、データの移行では認識されないようです。
このファクトリクラスを使用するようにデータ移行を指示するために明示的に行う必要があることはありますか?
また、接続文字列名を取得するためにコンテキストを記述したため、この問題が発生しました(そして、ninjectを使用してそれを提供しました)。
あなたが行ったプロセスは正しいようです、それが助けの場合、ここに私のクラス実装のスニペットがあります:
public class MigrationsContextFactory : IDbContextFactory<MyContext>
{
public MyContext Create()
{
return new MyDBContext("connectionStringName");
}
}
必要なのはこれだけです。