私はもともと .NET4 で VS2010 Express を使用して作成した大規模な MVVM タイプのソリューションを持っています。モデルは、エンティティを使用して SQL Server 2012 データベースにアクセスします。
最近、Model プロジェクトを失くしてしまいましたが、これは大したことではありませんでした。これは、いくつかのマイナーな変更を加えた自動生成エンティティで構成されているためです。したがって、VS2012 と .NET4.5 および EF5 を使用してモデル プロジェクトを再作成しました。ViewModel を .NET4.5 にアップグレードし、パッケージ マネージャーを使用して EntityFramework をインポートしました。
問題は、ViewModel (別のクラス ライブラリ) がいくつかのコンパイル時エラーをスローすることです。これらは次のように展開します。
- メインの Entities クラス (私の場合は CN2Entities) には、接続文字列を受け取るコンストラクターがなくなりました。これは、パラメーターなしのコンストラクターのみを提供するオートコンプリートによって確認されます。
「アドレス」など、データベース テーブルにマップされる個々のデータベース オブジェクト クラスには、静的メンバーが含まれなくなりました。例えば:
address_ = Address.CreateAddress(-1);
このコードは、入力してデータベースに追加するための、きれいな空の住所レコードを提供していました。これはもはや有効ではありません。実際、Address クラスの唯一の静的メンバーは、"Equals" と "ReferenceEquals" のように見えます。
- メインの Entities クラスには、AddToAddress(Address) 関数が含まれなくなりました。この関数は、新しい Address オブジェクト (Addresses テーブルの行を表す) を取得してデータベースに追加します。次に、Entities.SaveChanges() を呼び出して、追加をコミットします。この機能はまだ残っているようです。
何が起こっているのか誰でも私を助けてもらえますか? これは EF5 が動作する新しい方法と関係がありますか、それとも正しい参照を提供していない破損したソリューションがありますか?