回答編集履歴
3
コレクション初期化子になっていたので直した
answer
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
using (var context = new BloggingContext())
|
|
13
13
|
{
|
|
14
14
|
var original = context.Blogs.First();
|
|
15
|
-
var clone = new Blog { source.Url };
|
|
15
|
+
var clone = new Blog { Url = source.Url };
|
|
16
16
|
context.Blogs.Add(clone);
|
|
17
17
|
context.SaveChanges();
|
|
18
18
|
}
|
2
文章の修正
answer
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
掲示したコードは新規データの追加ではなく、既存データの変更をしています。
|
|
2
2
|
|
|
3
|
-
データベースの仕組み上、主キーの更新はリンクされている全てのテーブルも更新する必要があり推奨されません。
|
|
4
|
-
ですから、Entity Framework においてもそのような操作は許可されずエラーが出ているのでしょう。
|
|
3
|
+
データベースの仕組み上、主キーの更新はリンクされている全てのテーブルも更新する必要があり推奨されません。ですから、Entity Framework においてもそのような操作は許可されずエラーが出ているのでしょう。
|
|
5
4
|
|
|
6
5
|
> 元のデータを編集して、一部のデータを変えただけで新規のデータを作りたい
|
|
7
6
|
|
|
8
|
-
まずは [コンテキストとエンティティ クラスを使用してデータを追加、変更、および削除する方法](https://docs.microsoft.com/ja-jp/ef/core/saving/basic) を参照してください。
|
|
7
|
+
まずは [コンテキストとエンティティ クラスを使用してデータを追加、変更、および削除する方法](https://docs.microsoft.com/ja-jp/ef/core/saving/basic) を参照してください。"データの追加" にて新たなエンティティのインスタンスを作成している部分が重要です。
|
|
9
|
-
"データの追加" にて新たなエンティティのインスタンスを作成している部分が重要です。
|
|
10
8
|
|
|
11
9
|
つまり、データの複製をするには、既存のエンティティから新しくインスタンスを作成する必要があります。
|
|
12
10
|
|
1
文章の修正
answer
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
掲示したコードは新規データの追加ではなく、既存データの変更をしています。
|
|
2
2
|
|
|
3
|
+
データベースの仕組み上、主キーの更新はリンクされている全てのテーブルも更新する必要があり推奨されません。
|
|
3
|
-
|
|
4
|
+
ですから、Entity Framework においてもそのような操作は許可されずエラーが出ているのでしょう。
|
|
4
5
|
|
|
5
6
|
> 元のデータを編集して、一部のデータを変えただけで新規のデータを作りたい
|
|
6
7
|
|