これをコードファーストとデータベースファーストEF間の問題に絞り込みましたが、どのように修正すればよいかわかりません。私はできる限り明確になるように努力しますが、正直に言うと、私自身、理解の一部が欠けています。これはEntity Framework 4.4です
Entity Frameworkが使用されているプロジェクトを継承しましたが、実際のファイルの多くが削除され、実際に戻る方法がありませんでした。私はEF(最初にデータベース)を再度追加し、プロジェクトが構築されたT4セットアップを複製しました。すべてのデータベースモデルのコードバージョンとDBContextコードファイルを生成しました。
接続文字列が "通常の" .NET接続文字列のように見える場合、無効な列名 "ProcessState_ID"が存在しないというエラーが表示されます。ProcessState_IDはコードベースにはまったく含まれていません。EDMXファイルなどには含まれていません。これは、クエリの一部の自動EF変換のようです。
接続文字列をEntity Frameworkモデルと一致させると、うまく機能します。
次に、前のコードをEntity Frameworkと一致させるために、「通常の」.NET接続文字列を維持したいと思います。
したがって、ここで2つの質問があります。1.コードで通常の接続文字列からEF接続文字列に移動するための良い方法は何ですか?2.ここに、無効な列名エラーを停止するために表示されない別の修正がありますか?
public virtual Person Person { get; }