問題タブ [savechanges]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - SaveChanges は変更を保存しません
EF を使用して期待どおりにすべてのデータをロードするアプリケーションがありますが、保存に関してはまったく機能しません。
コンボボックスの値を使用してデータベースの 1 つのフィールドを変更するだけで、簡単なことから始めました。値が変更されると実行されます
EntityState
また、これによりtoが変更されModified
、値が期待どおりであることも確認しました。それにもかかわらず、呼び出し
データベースには何も保存しません。おそらく私が見逃している単純なものであることはわかっていますが、それが何であるかはまったくわかりません。
更新:hdb.context.Attach(this.t.Incident);
SaveChanges を使用する前に
追加すると、 InvalidOperationException
「IEntityChangeTracker の複数のインスタンスからエンティティ オブジェクトを参照できません。」というメッセージが表示されます。
違いがある場合、これはデスクトップ アプリケーションであり、Web アプリケーションではありません
entity-framework - Entity Framework の ObjectContext.SaveChanges メソッドを使用してログを選択的に監査する
SaveChanges
アプリケーションで監査ログを実行する必要があり、データベースへの変更をログに記録したいと考えています。ロギングを行いたくない場合があります。SaveChanges
監査ログを実行しないように指示する最もエレガントな方法は何ですか? Entity Framework 4 を使用しています。
performance - Entity Framework SaveChanges()の最初の呼び出しは非常に遅い
この問題が数回発生したことを感謝しますが、明確な答えを見つけることができません(おそらく1つはありません!)。
とにかく、タイトルはそれをすべて本当に伝えています。新しいコンテキストを作成し、新しいエンティティを追加します。SaveChanges()には20秒かかります。同じコンテキストで2番目のエンティティであるSaveChanges()インスタントを追加します。
これについて何か考えはありますか?:-)
============更新=============
問題を示すために、既存のモデルに対して実行する非常に単純なアプリを作成しました...
無効なテストでない限り、私のコードにコメントしないでください;)
結果は次のとおりです。
クエリ1=3999.2288ms(3.9992288s)
SaveChanges 1 = 3391.194ms(3.391194s)
クエリ2=18.001ms(0.018001s)
SaveChanges 2 = 4.0002ms(0.0040002s)
クエリ3=14.0008ms(0.0140008s)
SaveChanges 3 = 3.0002ms(0.0030002s)
クエリ4=13.0008ms(0.0130008s)
SaveChanges 4 = 3.0002ms(0.0030002s)
クエリ5=10.0005ms(0.0100005s)
SaveChanges 5 = 3.0002ms(0.0030002s)
最初のクエリには時間がかかりますが、ビューの生成だと思いますか?またはdb接続?
最初の保存には4秒近くかかりますが、私のアプリでのより複雑な保存には20秒以上かかりますが、これは受け入れられません。
今これでどこに行くべきかわからない:-(
アップデート...
SQL Profilerは、最初のクエリと更新が高速であり、最初のクエリと更新に違いがないことを示しています。ですから、遅延は疑わしいエンティティフレームワークであることを私は知っています。
wcf - EF4/WCF SaveChanges() のベスト プラクティス
これは、EF エンティティ用に汎用の Save() サービスを WCF に実装する方法です。TT が代わりに作業を行います。問題はありませんが、これが最善のアプローチであるとは思いたくありません (たとえそうであったとしても)。皆さんは非常に明るく親切に見えるので、私は質問を投げかけようと思いました:
より良い方法はありますか?
c# - SaveChangeが機能しない後にデータソースを更新する
にデータを追加し、ObjectSet
で行いSaveChanges
ましたObjectContext
。DataGrid
ただし、新しいデータは!に表示されません。
コード:
UPD:ソリューション
.net - エンティティ フレームワークの継承を使用すると挿入が失敗する
2 つのテーブルがあります。1 つは抽象的で、スカラー プロパティ「Id」と「Name」を持ち、キー「Id」が主キーです。"Student" という名前の別のものは Person から継承します
次のコードを使用して、学生をデータベースに挿入します。
SaveChanges を呼び出してデータをデータベースに保存すると、System.Data.UpdateException が発生しました。内部例外は、「列 'Id'、テーブル 'Temp.dbo.PersonSet' に値 NULL を挿入できません。列は NULL を許可しません。INSERT は失敗します。\r\nステートメントは終了しました。」誰が理由を教えてくれますか? そして、これを修正する方法は?
android - アクティビティの状態を保存する方法
その下にリストビューがEditText
続きます。編集テキストに何かを入力すると、上記のテキストに一致するリストの項目が表示されます。とにかく、リストビューの状態を保存する必要があります。ユーザーがこの画面から移動して戻ってきた場合、リスト ビューは同じ状態になり、編集テキストは同じテキストで満たされる必要があります。あなたがそれを手に入れたことを願っています。
これを達成する方法を教えてください。
c# - SaveChange EF4 でエラーを無視する方法
example1までご覧ください。一部のデータが正しく入力されない場合、EF4 は存続せず、記録も残りません。
問題: 強制的に 1 つのレコードのエラーを無視して続行するかどうか。
例1:
example2 代替:
c# - SaveChanges をキャンセルする方法
最初に SaveChanges を作成し、例外 (UpdateException) を飛ばします。そして、2 回目の SaveChanges を作成し、最初のエラーをもう一度飛ばします。それについて何をすべきか
entity-framework - Entity Framework SaveChanges() はデータベースに書き込みません
SaveChanges() を使用してデータベースにエンティティを書き込もうとすると、呼び出しは成功します (1 が返されます) が、実際にはデータベースに書き込まれません。さらに、savingchanges イベント ハンドラーを追加することで、アイテムが実際に正しいプロパティで保存イベントを通過することを確認できます (具体的には、1 つのオブジェクトの状態が変化し、それが私が送信した新しいエンティティです)。データベースのあとがきを読むと、新しいデータ行はありません。エラーやスローされた例外はありません...
私は同様の記事をレビューしましたが、ほとんどの記事には 1 行が欠けているか、間違っています (または順番が間違っていることさえあります)。この場合、システムを最初から最後まで正常に通過していることがわかりますが、実際にはデータベースには到達していません。
別の記事で尋ねられたので、ここに私の接続文字列があります:
metadata=res://*/CommunityEF.CommunitySystem.csdl|res://*/CommunityEF.CommunitySystem.ssdl|res://*/CommunityEF.CommunitySystem.msl;provider=System.Data.SqlServerCe.3.5;provider connection string="Data Source=|DataDirectory|\DB\Database1.sdf"" providerName="System.Data.EntityClient" />
また、それは問題ではありません (ただし、問題があることはわかっています) が、私は VS2010 Express を使用しており、これは Web アプリケーションではなく Windows アプリケーションです。
この件についてご協力いただきありがとうございます。