テーブルに新しい列を追加するまで、すべて正常に動作していました。私はモデルクラスを更新する方法を見つけることができませんでしたので、モデルに列を追加しました。しかし今、私のアプリケーションを実行すると、私はエラーが発生します: "オブジェクト参照がオブジェクトのインスタンスに設定されていません。"コンテキストオブジェクトは、テーブルから行をフェッチなく、このオブジェクト参照エラーを与えているテーブルに列を追加した後のDbContextのエラー
MyDbContext context = new MyDbContext(db);
:
は、デバッグ時には、私はそれが私のdbcontextのインスタンスの作成に問題があることがわかりました。
モデルクラスから新しい列を削除すると、正常に動作します。これは、私のデータベースとモデルが同期していないことを示し、アプリケーションが古いテーブルデザインを使用しているようです。
また、CLIコマンドを使用してデータベースを更新しようとしていますが、それにも問題があります。
テーブルの列が追加されたら、誰もモデルクラスとテーブルのデザインを同期させる方法を提案できますか?私はASP.NET CoreとEF Coreを使用しています。
ありがとうございます。
あなたは一度足場をつけて、コードの最初のアプローチ(コードのモデルを変更してマイグレーション+ dbアップデートを実行する)を使用し、DB内の列を決して変更しないでください。 – Tseng
これで、今すぐ列を削除してから私のモデルクラスを作成し、マイグレーションを実行しますか?どのようにマイグレーション+ dbの更新を実行するか?私にお知らせください。 – user6542823
私はコマンドを使用しようとしています:dotnet ef database update -c MyDbContextしかし、 '値はnullにはできませんパラメータ名:connectionString' – user6542823