新しいオブジェクトを作成し、それを次のようなコンテキストにアタッチしたいのですが、
User user = new User();
user.userName=”Kobe”;
context.Attach(user);
「EntityKey値がnullのオブジェクトをオブジェクトコンテキストにアタッチできません」というエラーメッセージが表示されます。データベースからユーザーオブジェクトをクエリアウトし、そのEntityKeyを新しいオブジェクトに割り当てると、次のようにクエリ結果オブジェクトをデタッチします。
User user = (from u in context.Users where u.userID == 1 select u).First();
User newUser = new User();
newUser.userName = “Kobe”;
newUser.EntityKey = user.EntityKey;
context.Detach(user);
context.Attach(newUser);
別のエラーメッセージが表示されます–「EntityKeyの一部であるプロパティの値がEntityKeyの対応する値と一致しないため、オブジェクトをアタッチできません。」EntityKeyが何であるかは本当にわかりません。インターネットで検索し、MSDNでEntityKeyクラスを見ましたが、それでも明確に理解できません。EntityKeyが作成され、オブジェクトにアタッチされたのはいつですか?どこで見つけることができますか?オブジェクトを切り離した場合、なぜEntityKeyがまだ存在しているのですか?
誰でも助けることができますか?前もって感謝します!