EntityFrameworkの初心者はこちら。VS2010およびSQLServer2008ExpressDBを使用します。
新しいテーブルを追加した後、エンティティデータモデルを更新するのに問題がありました。そこで、ここで見つけた提案に従って、モデルを削除して再生成しました。
エンティティデータモデルウィザードの[データ接続の選択]セクションに移動し、[エンティティ接続設定をWeb.configに次のように保存する]がオンになっています。ただし、私の既存の名前には1が追加されています。たとえば、MyDatabaseEntitiesはMyDatabaseEntities1になりました。もちろん、「1」を付けたくありません。Web.configの既存の接続文字列を削除し、ソリューションでその名前へのすべての参照を削除しました。それでも続行しようとすると、次のエラーが表示されます。
「「MyDatabaseEntites」がアプリケーション設定の既存のプロパティ名と競合しています。別の名前を選択してください」
ソリューションのどこにもその名前への参照が見つかりません。そのオプションのチェックを外すと続行されますが、データベースに2つのテーブルが追加されません。次に、すべてを完全にシャットダウンして再起動し、再試行しました。今回は上記のエラーは発生しませんでしたが、3つの新しいテーブルのうち2つはまだedmxモデルに追加されていません。
どんなアイデアでも大歓迎です。また、これはVS2010 / .NET 4でもまだかなりバグがあるようです。私の信念を取り戻すのを手伝ってください...この時点で、EntityFrameworkを放棄したいと思います。これまでの経験とここに投稿された他のいくつかの問題に基づいて、有用なコードを書くよりもEntityFrameworkの奇妙さを追いかけることに多くの時間を費やすつもりだと感じています。
更新:解決策を見つけました。デザイナはエラーを表示しません。エラーを確認するには、ネイティブXML(edmxファイル)を調べる必要があります。ここを参照してください: ADO.NET Entity Framework:更新ウィザードはテーブルを追加しません