回答編集履歴
1
追記
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 とすれば読めます)、翻訳がダメダメなので英語版を見ることをお勧めします。
|