私は今週 (v5) まで EF を使用していませんでしたが、現在、いくつかのデータベースの変更を行っています。
NVARCHAR Country フィールドを削除し、Country テーブルの Id 列への外部キーである CountryId int フィールドに置き換えました。
ALTER TABLE [dbo].[UserProfile] WITH CHECK ADD CONSTRAINT [FK_UserProfile_Countries] FOREIGN KEY([CountryId])
REFERENCES [dbo].[Countries] ([Id])
VS2012 でモデルを更新すると、予想外のことが起こります。私が削除したフィールドのエラーを報告しています:
エラー 11010: 関連付けの終了 '国' がマップされていません。
そして、正しくないように見えるモデルに 2 つの仮想フィールドを追加しました。
public partial class UserProfile
{
public int UserId { get; set; }
...
public int CountryId { get; set; }
public virtual Country Country { get; set; }
public virtual Country Country1 { get; set; }
}
デザイナーにバグがあり、.tt ファイルで「Run Custom Tool」を手動で実行するとこれが修正されることを読みましたが、機能していないようです。
誰かがこれを見たり解決したりしましたか?