Entity Framework4既存のオブジェクトを参照してエンティティを追加する

コンラッド

ナビゲーターを介して参照する新しいエンティティを既存のエンティティに追加すると、Entity Framework4に問題が発生します。コードを見てください:

            ControlPolicy cp1 = new ControlPolicy()
            {
                ControlPolicyLevelType = 2, //full access to NA
                MemberState = context.Countries.First(tt => tt.IsMemberState),
                OperaModuleType = 2,
                MemberStateIncluded = true,
                CreateDate = DateTime.Now,
                CreatedByUserId = 1,
            };
            context.ControlPolicies.AddObject(cp1);

            context.SaveChanges();

エラーは次のとおりです。

'ControlPolicy_MemberState_Country_'AssociationSetからの関係は'追加 '状態にあります。多重度の制約がある場合、対応する「国」も「追加」状態である必要があります。

ChangeTrackerを見ると、ControlPolicyオブジェクトは実際には「追加」状態ですが、国1は「未定義」状態です。それは正しいと思います。結局、新しいオブジェクトを追加するのではなく、既存の国を参照するだけです。

コンラッド

この特定のケースでは、間違ったEFモデルでミスが発生しました。MemberStateとCountryは1対1の関係にあったため、EFの場合、ControlPolicyを追加するときに、新しいMemberState(国)も定義する必要があることは明らかでした。ナビゲーターの関係が適切なm:1 MemberState:Countryに変更されると、すべてが機能し始めました。

それに加えて、Rui JarimbaFKの提案はとても良いと思います。ここでは問題ではなく、ChangeTrackerを使用しているため、私の場合は適用できませんでした。明らかに、ChangeTrackerはFKを介して行われた変更について知りません。ただし、それ以外の場合は、外部キーを使用すると非常に便利で便利です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

エンティティオブジェクトは、IEntityChangeTrackerの複数のインスタンスから参照することはできません。Entity Framework4.1でエンティティに関連オブジェクトを追加している間

分類Dev

Entity Frameworkは、エンティティオブジェクトを既存のテーブルAspNetUsersにマップします

分類Dev

子エンティティをデータベースに追加し、データベースEntity FrameworkCoreの親オブジェクトに割り当てます。

分類Dev

Entity Framework6同じエンティティオブジェクトから2つのテーブルを作成する

分類Dev

Entity Framework 4.0を使用する場合は、複数のエンティティオブジェクトを削除する必要があります

分類Dev

Entity Frameworkで、可能なすべてのDbSetを列挙するswitchステートメントを使用せずに、対応するDbSetにジェネリックエンティティを追加するにはどうすればよいですか?

分類Dev

Entity Frameworkオブジェクトの文字列プロパティへの参照を保持すると、GCによってオブジェクトが収集されなくなりますか?

分類Dev

Entity Frameworkが既存のエンティティを挿入しようとするのはなぜですか?

分類Dev

Entity Frameworkのコンテキストに対してエンティティを検証する方法は?

分類Dev

Entity Framework6同じエンティティを参照する2つの異なるコレクション

分類Dev

Entity Framework Generic insertメソッドは、既存のエンティティを新しいエンティティと一緒に再度挿入しています

分類Dev

Entity Framework Core にエンティティのグラフを追加する

分類Dev

Entity Framework で関連するすべてのエンティティを返す

分類Dev

Entity FrameworkWebまたはエンティティオブジェクト

分類Dev

Entity Frameworkは、複数の子コレクションにまたがるフィルターに基づいてオブジェクトを選択します

分類Dev

Entity Frameworkは、データベースコンテキストにまだ存在するオブジェクトを、別のクラスから参照されている同じオブジェクトに関連付けません。

分類Dev

Entity Framework Core-子プロパティのリスト/オブジェクトを直接クエリして、Include / ThenIncludeの複数の繰り返しを回避できますか?

分類Dev

Entity Framework + ODataを使用して複数の関連エンティティをPOSTする方法は?

分類Dev

mappedByが不明なターゲットエンティティプロパティを参照しています:com.bookstore.entity.Book.detailOrdersのcom.bookstore.entity.DetailOrder.books

分類Dev

Entity Framework Coreは、関連するエンティティなしでエンティティを取得します

分類Dev

Entity Framework C#に多対多のオブジェクトを追加する

分類Dev

Entity Framework Core 2.2 C#が、既存のネストされたエンティティとともに新しいエンティティを挿入するときにエラーで応答するのはなぜですか

分類Dev

Entity Frameworkは、既存のリストに新しいプロパティを追加します

分類Dev

Entity Framework 6の複数のコンテキスト、dbcontext全体でエンティティを参照

分類Dev

Entity Framework関連のエンティティは、同じテーブルの不要な結合を生成します

分類Dev

Entity Framework 7のテーブルにエンティティをどのようにマップしますか?

分類Dev

Entity Frameworkの再帰関数を使用して、自己参照外部キーを持つエンティティを削除します

分類Dev

Entity Framework Core 2.2:特定のエンティティの移行を無効にする

分類Dev

Entity Frameworkを使用して特定のIDの次および前のエンティティを取得しますか?

Related 関連記事

  1. 1

    エンティティオブジェクトは、IEntityChangeTrackerの複数のインスタンスから参照することはできません。Entity Framework4.1でエンティティに関連オブジェクトを追加している間

  2. 2

    Entity Frameworkは、エンティティオブジェクトを既存のテーブルAspNetUsersにマップします

  3. 3

    子エンティティをデータベースに追加し、データベースEntity FrameworkCoreの親オブジェクトに割り当てます。

  4. 4

    Entity Framework6同じエンティティオブジェクトから2つのテーブルを作成する

  5. 5

    Entity Framework 4.0を使用する場合は、複数のエンティティオブジェクトを削除する必要があります

  6. 6

    Entity Frameworkで、可能なすべてのDbSetを列挙するswitchステートメントを使用せずに、対応するDbSetにジェネリックエンティティを追加するにはどうすればよいですか?

  7. 7

    Entity Frameworkオブジェクトの文字列プロパティへの参照を保持すると、GCによってオブジェクトが収集されなくなりますか?

  8. 8

    Entity Frameworkが既存のエンティティを挿入しようとするのはなぜですか?

  9. 9

    Entity Frameworkのコンテキストに対してエンティティを検証する方法は?

  10. 10

    Entity Framework6同じエンティティを参照する2つの異なるコレクション

  11. 11

    Entity Framework Generic insertメソッドは、既存のエンティティを新しいエンティティと一緒に再度挿入しています

  12. 12

    Entity Framework Core にエンティティのグラフを追加する

  13. 13

    Entity Framework で関連するすべてのエンティティを返す

  14. 14

    Entity FrameworkWebまたはエンティティオブジェクト

  15. 15

    Entity Frameworkは、複数の子コレクションにまたがるフィルターに基づいてオブジェクトを選択します

  16. 16

    Entity Frameworkは、データベースコンテキストにまだ存在するオブジェクトを、別のクラスから参照されている同じオブジェクトに関連付けません。

  17. 17

    Entity Framework Core-子プロパティのリスト/オブジェクトを直接クエリして、Include / ThenIncludeの複数の繰り返しを回避できますか?

  18. 18

    Entity Framework + ODataを使用して複数の関連エンティティをPOSTする方法は?

  19. 19

    mappedByが不明なターゲットエンティティプロパティを参照しています:com.bookstore.entity.Book.detailOrdersのcom.bookstore.entity.DetailOrder.books

  20. 20

    Entity Framework Coreは、関連するエンティティなしでエンティティを取得します

  21. 21

    Entity Framework C#に多対多のオブジェクトを追加する

  22. 22

    Entity Framework Core 2.2 C#が、既存のネストされたエンティティとともに新しいエンティティを挿入するときにエラーで応答するのはなぜですか

  23. 23

    Entity Frameworkは、既存のリストに新しいプロパティを追加します

  24. 24

    Entity Framework 6の複数のコンテキスト、dbcontext全体でエンティティを参照

  25. 25

    Entity Framework関連のエンティティは、同じテーブルの不要な結合を生成します

  26. 26

    Entity Framework 7のテーブルにエンティティをどのようにマップしますか?

  27. 27

    Entity Frameworkの再帰関数を使用して、自己参照外部キーを持つエンティティを削除します

  28. 28

    Entity Framework Core 2.2:特定のエンティティの移行を無効にする

  29. 29

    Entity Frameworkを使用して特定のIDの次および前のエンティティを取得しますか?

ホットタグ

アーカイブ