エンティティ・フレームワークを使用して単一のコンテキストでオブジェクトのセットを追加していますが、トランザクション中にしたいです。私はそれをどのようにすることができますか?エンティティ・フレームワーク内の単一トランザクションで複数のオブジェクトを更新する
答えて
MSDNのHow to: Manage Transactions in the Entity Frameworkの記事をご覧ください。基本的には、TransactionScopeクラスを使用して、トランザクションの境界を画定します。
コンテキスト接続オブジェクトにトランザクションオブジェクトを作成してから、通常のメカニズムまたはトランザクションスコープでトランザクションコミットまたはロールバックを使用できます。スレッドが(TransactionScope
経由など)トランザクションが関連付けられている場合SaveChanges
は内部的にチェックし、それがない場合ではない、それは内部的に新しいものを作成しますので、あなたはすでにトランザクションを持っているすべての変更のために一度だけSaveChanges
を呼び出す場合
dbContext.Connection.BeginTransaction()
connection.BeginTransaction
に電話してください。
私が直面している問題は、Templateオブジェクトを作成し、TemplateIdとしてプロパティを持つTemplateLayoutsオブジェクトに従うことです。最初にTemplateIdを取得するには、AddObjectメソッドが呼び出された後にSaveChangesを呼び出してから、すべてのレイアウトが追加された後にSaveChangesを1つ追加します。私はすべてを単一のトランザクションで結合したい。 – VJAI
それから間違っている。 TemplateLayoutにTemplateプロパティがあり、このプロパティを新しいTemplateインスタンスに設定すると、EFは他のすべてを処理します。 –
- 1. OpenJPAトランザクション - 単一または複数のエンティティ管理者?
- 2. Howto:複数の集約の更新に単一トランザクションを使用する
- 3. 複数のJava jvmsでの単一トランザクション
- 4. rails単一のモデルと単一のフォームで複数のレコードを更新する
- 5. BulletPhysics - 単一オブジェクトの更新
- 6. エンティティ・フレームワーク内の関連するデータを更新する
- 7. 単一の更新クエリにトランザクションが必要ですか?
- 8. 単一のステートメントで複数のレコードの更新を休止
- 9. 挿入/更新db再生フレームワークで単一の関数を使用する
- 10. 単一の接続で複数のトランザクションを使用して
- 11. エンティティフレームワークコードファースト - 共通エンティティなしの複数のテーブルへの単一エンティティ
- 12. ベストプラクティス:複数のエンティティから単一のエンティティへ
- 13. 複数のテーブルをEntity Frameworkの単一のエンティティにマッピングする
- 14. 単一のクエリで複数のSQL更新文
- 15. 単一のフォームから複数のエンティティを挿入する
- 16. エンティティ・フレームワークの削除前の更新
- 17. 複数のオブジェクトへの単一通知?
- 18. 複数のDOMオブジェクトのjQuery単一イベント
- 19. Google Appengineで複数のエンティティを更新する
- 20. Node.jsを使って複数のMongoDBオブジェクトを一意の_idで更新する
- 21. 単一のコンテナ内にある複数のオブジェクトに変形を適用する
- 22. 単一のリスト内の複数のクラスタイプ
- 23. エンティティフレームワーク内のエンティティを更新する
- 24. はローカルで始まるエンドは(単一のトランザクションで複数のトリガーを変更すること)宣言し
- 25. 単一クエリ内の複数のCTE
- 26. EFコード最初の複数のテーブルを単一のエンティティ
- 27. テーブル内での複数の更新
- 28. 複数のフィールドを持つ単一の属性を更新する
- 29. Hibernateは一時オブジェクトを持つエンティティを更新します
- 30. 複数の行のトリガーが単一トランザクションで挿入される方法
現在、私はTransactionScopeを使用しています。パフォーマンスに影響を与えますか? – VJAI