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

回答編集履歴

3

コレクション初期化子になっていたので直した

2021/08/25 09:14

投稿

BluOxy
BluOxy

スコア2663

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

文章の修正

2021/08/25 09:14

投稿

BluOxy
BluOxy

スコア2663

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

文章の修正

2021/08/24 21:52

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -1,6 +1,7 @@
1
1
  掲示したコードは新規データの追加ではなく、既存データの変更をしています。
2
2
 
3
+ データベースの仕組み上、主キーの更新はリンクされている全てのテーブルも更新する必要があり推奨されません。
3
- データベースの仕組み上、主キーの更新はリンクされている全てのテーブルも更新る必要がありますから、Entity Framework においてもそのような操作は許可されずエラーが出ているのでしょう。
4
+ すから、Entity Framework においてもそのような操作は許可されずエラーが出ているのでしょう。
4
5
 
5
6
  > 元のデータを編集して、一部のデータを変えただけで新規のデータを作りたい
6
7