teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/02/25 01:01

投稿

退会済みユーザー
answer CHANGED
@@ -2,4 +2,13 @@
2
2
 
3
3
  コードには Add しか見当たりませんが、それでは EntityState.Added になるはずなので、insert 操作になるのですが、主キーが存在するのでエラーになったということでしょう。
4
4
 
5
- Entity Framework が主キーの有無を調べて、EntityState の Added ⇔ Modified 自動的に切り替えてくれると言うことはありません。
5
+ Entity Framework が主キーの有無を調べて、EntityState の Added ⇔ Modified 自動的に切り替えてくれると言うことはありません。
6
+
7
+ **【追記】**
8
+
9
+ 上に書いたことを理解するのに役に立ちそうな Microsoft のドキュメントを紹介しておきます。最後のセクション Insert or update pattern が参考になるかも。
10
+
11
+ Working with entity states
12
+ [https://docs.microsoft.com/en-us/ef/ef6/saving/change-tracking/entity-state](https://docs.microsoft.com/en-us/ef/ef6/saving/change-tracking/entity-state)
13
+
14
+ 日本語版もありますが(en-us ⇒ ja-jp とすれば読めます)、翻訳がダメダメなので英語版を見ることをお勧めします。