タグ付けされた質問 「entity-framework-core-3.1」

1
プロパティのデフォルト値を介して関係を変更しようとすると、予期しないInvalidOperationExceptionが発生する
以下のサンプルコードでは、実行時に次の例外が発生しdb.Entry(a).Collection(x => x.S).IsModified = trueます。 System.InvalidOperationException: 'エンティティタイプ' B 'のインスタンスは、キー値' {Id:0} 'の別のインスタンスが既に追跡されているため追跡できません。既存のエンティティをアタッチするときは、特定のキー値を持つエンティティインスタンスが1つだけアタッチされるようにしてください。 Bのインスタンスをアタッチする代わりに追加しないのはなぜですか? 奇妙なことに、のドキュメントにIsModifiedはInvalidOperationException、例外の可能性が明記されていません。無効なドキュメントまたはバグ? 私はこのコードが奇妙であることを知っていますが、奇妙なegdeのケースでefコアがどのように機能するかを理解するためだけにそれを書きました。私が欲しいのは説明ではなく、回避策です。 using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; class Program { public class A { public int Id { get; set; } public ICollection<B> S { get; set; } = new List<B>() { new …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.