どのようにSaveChangeをキャンセルします -- c# フィールド と entity-framework フィールド と entity-framework-4 フィールド と savechanges フィールド 関連 問題

How cancel SaveChanges












1
vote

問題

日本語

最初のSaveChangesを作成し、例外を発する(UpdateException)。 そして私は2番目のセーブチェンジと再びFliyngの最初のエロールを作ります。 それについて何をすべきか

<事前> <コード> bool isUpdate = false; var resource = new Resource() { url = tbUrl.Text }; //block1 try { context.Resource.AddObject(resource); context.SaveChanges(); isUpdate = true; } catch (UpdateException ex) { } //block2 if (!isUpdate) { resource = (from res in context.Resource where res.url == tbUrl.Text select res).First(); context.NameToResourcer.AddObject(new NameToResourcer() { id_resource = resource.id, name = tag }); context.SaveChanges();//error! }
英語

I make first SaveChanges and flies exception (UpdateException). And I make second SaveChanges and againe fliyng first erorr. What to do about it

bool isUpdate = false; var resource = new Resource() { url = tbUrl.Text }; //block1 try {     context.Resource.AddObject(resource);     context.SaveChanges();     isUpdate = true; } catch (UpdateException ex) {  }  //block2 if (!isUpdate) {     resource = (from res in context.Resource where res.url == tbUrl.Text select res).First();     context.NameToResourcer.AddObject(new NameToResourcer()                     {                         id_resource = resource.id,                         name = tag                     });     context.SaveChanges();//error! } 
</div
           

回答リスト

2
 
vote
vote
ベストアンサー
 

Theme.AppCompat.Light0への呼び出しは、トランザクションに折り返されるべきです。通常、<コード> Theme.AppCompat.Light1 を使用しています。 SaveChangesへの呼び出しの1つが失敗した場合は、トランザクションをロールバックできます。


編集:

いくつかの例では、これら2つのMSDNページを参照してください。

System.Transactions.TransactionsCopeクラス 方法:エンティティフレームワークでのトランザクションを管理する

 

Your calls to SaveChanges should be wrapped in a transaction. Typically using a TransactionScope. Then you can roll-back the transaction if one of the calls to SaveChanges fails.


Edit:

For some examples, see these 2 MSDN pages:

System.Transactions.TransactionScope Class

How to: Manage Transactions in the Entity Framework

</div
 
 
   
   

関連する質問

0  Android - ListViewは動的に追加されたアイテムを保持しません  ( Android listview doesnt retain dynamically added items ) 
Button に新しい新規アイテムを追加するための ListView を持つアプリを作成しています。 私がやりたいことは、ユーザーが<コード> Button 99887664 を含む AlertDialog を含むことです。ポップアップします。ユーザー...

1  エンティティフレームワークのSaveChanges 3.5は変更されていないエンティティを保存しています(データベース上でそれらを複製)  ( Savechanges on entity framework 3 5 is saving unchanged entities duplicate them ) 
.NET 3.5とEntity Framework 3.5を使用しています(最近のバージョンにアップグレードできません)。 EFを使用してデータベース上の新しいエンティティを保存すると、すべてのエンティティ参照が「変更されていない」とID&GTでも複製され...

1  エンティティフレームワーク - 新しい子を持つ新しいエンティティはSaveChangesで追加できません  ( Entity framework new entities with new children cannot be added with savechang ) 
私はそれに複数の「受信者」を追加した「文字」というオブジェクトを作成しています。 コンテキストでSaveChagesが呼び出されると、このエラーが発生します。 「「Echoentities.LetterRecipients」のエンティティは、 'FK_Lett...

1  エラー処理応答ストリーム次のメッセージでサーバーが失敗しました。この要求の処理中に R NANエラーが発生しました  ( Error processing response stream server failed with following message r nan er ) 
SharePointリスト項目に添付ファイルを追加しようとしているときは、次のエラーメッセージが表示されています。 "エラー処理応答ストリーム。次のメッセージでサーバーに失敗しました。この要求の処理中に R NANエラーが発生しました。" MVCでW...

0  保存された場所からワークブックを開く  ( Open a workbook from saved location ) 
ファイルをMyDocumentsに格納する必要があります。保存場所はVDIまたはラップトップに依存しない必要があります。 私が欲しい場所でファイルを正しく保存することができます。しかし、同じファイル名と場所で、私はそれを開くことができません。 workbo...

0  使用時エンティティフレームワークの継承に失敗挿入  ( Insertion fail when use entity framework inheritance ) 
私は2つのテーブル、キー「ID」が主キーであるスカラープロパティ「ID」と「名前」、と、抽象的である人という名前のものを、持っています。人から「学生」を継承という名前の別の1 私はデシベルに学生を挿入するために、次のコードを使用します: <事前> <コード> ...

11  セッションで実行されている他のスレッドがあるため、エンティティフレームワークの新しいトランザクションは許可されていません。マルチスレッド保存  ( Entity framework new transaction is not allowed because there are other threads ) 
マルチスレッドプロセスのログをDBに保存するようにしていますが、次のエラーが発生しました:セッションで実行されているスレッドが実行されているため、新しいトランザクションは許可されていません。 各トレッドでは、この機能があります。 <事前> <コード> int...

0  EFコアのSaveChangesメソッド内のエンティティ状態を変更する方法  ( How to change entity state inside savechanges method in ef core ) 
EFコアでの削除方法の動作を変更したい。 基本的 私はエンティティを削除したくない、削除されたフラグを変更したいだけです 真実へ。 私はこの方法を持っています: <事前> <コード> public override Task<int> SaveChan...

9  エンティティフレームワークでトランザクションをロールバックする方法  ( How to rollback a transaction in entity framework ) 
<事前> <コード> find_in_set0 またはこれは自動的に行われます。つまり、エラーが発生した場合は、すべての変更に対して変更をコミットすることがキャンセルされます。 それは?です ...

8  ADO.NETデータサービスで.saveChanges()メソッドを使用する最善の方法は何ですか?  ( What is the best way to use the savechanges method in ado net data services ) 
誰も.saveChanges()メソッドの使用に関する良い情報を持っていますか? データコンテキストオブジェクトの.saveChanges()メソッドを使用しようとすると、さまざまな問題が発生しています。私は既存のデータソースからデータを取得しており、適切なE...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有