質問: Entity Framework 6.13を使用してデータベーステーブルにアクセスする既存のWindowsコンソールアプリケーションがいくつかあります。データベーステーブルに新しい列を追加したいと思います。新しい列がテーブルの最後に追加されると、既存のコンソールアプリケーションが失敗しますか?既存の列名や属性は変更しません。私はテーブルの列の順序を変更することはありません。データベーステーブルの最後に列を追加する予定です。 Entity Frameworkモデル(新しい列なしでテーブルにアクセスした)を使用している既存の本番コンソールアプリケーションは、変更のために失敗しますか?
回答: いいえ、既存のデータベーステーブルに新しい列を追加していても、既存のコンソールアプリケーションは失敗しません。これは、コンソールアプリケーションのEntity Framework構成で、データベース側に追加された新しく追加された列が認識されないためです。 EF Fluent APIは、ご使用の構成に従って、ドメイン・モデルをデータベース表と常にマッピングしようとします。マッピングされたシステムでは、エラーは発生せずに実行されます。したがって、ここではExisting Database Tableカラムには触れておらず、新しいカラムだけを追加しています。したがって、EF Fluent APIは、既存のデータベースをコンソールアプリケーションのドメインモデルと正常にマッピングし、コンソールアプリケーションを正常に実行できます。 注:私は、新しく追加された列にはNOT NULL、PRIMARY KEYなどの制約はなく、