問題タブ [submitchanges]
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# - 誤ったLINQtoSQLエラー:「SubmitChangesの呼び出し中に操作を実行できません。」
さて、私は次の行からこのエラーを受け取っています:
私が行っているのは、アプリケーションの状態を追跡し、各リクエストをログに記録することです。アプリは、Json、Xml、およびHtmlで出力をレンダリングします。
問題は、エラーが不安定であるということです。いくつかのリクエストごとにのみ発生します。Ajaxリクエストを開始すると、エラーが発生し始めました。迅速なリクエスト(つまり、リンクを繰り返しクリックした場合)で、エラーがより頻繁に発生することを確認できました。
エラーをスローしているサービスを呼び出すたびに、DataContextの個別のインスタンスを作成しています。ここで何が問題なのかを理解するのに非常に苦労しています。何が起こっているのかについてのガイダンスや説明をいただければ幸いです。ありがとうございました。
* 編集 : **
記載されている方法は次のとおりです。
セッションサービスクラスが行うのは、セッションがデータベース内にありアクティブな場合はSqlXmlSessionStore.UpdateSession(session)を呼び出すこと、リクエストが新しく、セッションIDがないか一意の場合はSqlXmlSessionStore.InsertSession(session)を呼び出すことだけです。
SubmitChanges()を実行するたびにDataContextの新しいインスタンスを作成しようとしましたが、同じconnをプルしても、Connectionオブジェクトがありませんでした。設定からの文字列。これは私のローカルマシンと関係があるのでしょうか?
さて、私はうまくいくことをしましたが、これに私が予測していない問題があるかどうかはわかりません。
DataContextの送信を1回だけ許可します。これは、SubmitChanges()コードを次のように変更することで実現しました。
これはまだこれが機能するための非常にハッキーな方法のようです、そして私は問題の底に行きたいので、誰かがこれを修正する方法を知っているかどうかアドバイスしてください。
c# - 行が見つからないか、変更された単純なステートメントのLINQ C#エラー
まず第一に、私はデータベースの開発バージョンでローカルに作業しているので、これがマルチユーザーの問題である可能性はありません。
Row not found or changeddb.SubmitChanges()を実行すると、あまり説明的ではないエラーがスローされます。SubmitChanges()が発生する直前に実行を中断すると、SQL Server Management Studioにチェックインでき、行が存在します。
これが関数全体のコードです。これは、助けたい人のためにコンテキストに入れるためのものですが、問題の行は最後にあります(48行目)。
更新これは本当に奇妙なことです。エラーはmatchingTrans.Urlの更新が原因で発生します(コードの最後から2行目を参照)。この行をコメントアウトしても、matchingTrans.Titleがまだ更新されている場合でも、エラーはスローされません。
vb.net - linqsubmitchangesのメモリが不足しています
私は約180,000レコードのデータベースを持っています。これらの各レコードにPDFファイルを添付しようとしています。各PDFのサイズは約250kbです。ただし、約1分後、プログラムは約GBのメモリを消費し始め、停止する必要があります。更新すると各linqオブジェクトへの参照が削除されるように試してみましたが、役に立たないようです。どうすれば参照を明確にできますか?
ご協力いただきありがとうございます
asp.net - ASP.NET フォーム - フォーム名\id が aspnetForm に変更されます
私はこのコードを持っています:
コードを実行しようとすると、代わりに次のようになります。
どうして変わるの?
c# - SubmitChanges 割り当てられたレコードを使用する代わりに、外部関係の新しいレコードを挿入します
以下に示すように、有効な関係を持つ次のテーブルを取得しました。
ここで、次のことを試すと (新しく ReprotDataSource を選択した SharePointDomain にリンクする)、ID を持つ SharePointDomain に参照する代わりに、新しい SharePointDomain レコードが挿入されます (2)
自分のIDを(2)に設定すると正常に動作します
説明はありますか。
前もって感謝します。
c# - LINQ to SQL SubmitChangess()の進行状況
LINQ to SQLを使用して、古いDBFファイルをMSSQLにインポートしています。私はすべての行を読み取り、それらを使用してデータベースに追加していますctx.MyTable.InsertOnSubmit(row)
読み取りフェーズが完了した後、約100000の保留中の挿入があります。
ctx.SubmitChanges()当然、時間がかかります。
進捗状況を追跡する方法はありますctx.submitchanges()か?ctx.Logどういうわけかこの目的に使用できますか?
更新:ctx.GetChangeSet().Inserts.Countログを使用して挿入ステートメントを使用および追跡することは可能ですか?
ctx.SubmitChanges()トランザクションが必要なため、すべてまたは何も必要ないため、小さなチャンクに分割することはできません。
更新2: 挿入をカウントしようとする素晴らしいクラスActionTextWriterを見つけました。
http://damieng.com/blog/2008/07/30/linq-to-sql-log-to-debug-window-file-memory-or-multiple-writers
アップデート3:
私は最初のコードプロトタイプを作成しましたが、最適化されていません。動作しているようです:)
linq-to-sql - LINQ Insertonsubmit は、レガシー SQL Insert ステートメントと比較して非常に遅い
300000 回の挿入など、実行する大きな挿入ジョブがあります。
従来の方法で行う場合、100 個の Insert ステートメントのブロックで SQL 文字列を記述し、DB に対して executeCommand を実行します (100 レコードごと)。
これは、3 秒あたり約 100 回の挿入に役立ちます。
もちろん、挿入された値内の一重引用符と CrLf には問題があります。私は怠け者なので、一重引用符を二重にするコードを書くのではなく、Linq InsertOnSubmit と 1 つの context.SublitChanges を 100 行ずつ使用します。
そして、それは従来の方法よりも約20倍かかります!!!
なんで?
c# - LINQ:SubmitChanges()がレコードを更新しない
ここでは壊れたレコードのようには聞こえませんが(このような投稿がいくつかあります)、どれも私の問題を解決していないようです。更新したいときのようです
たぶんこれはばかげた質問ですが、私はthisデータベースから取得しています...なぜ単にthisのプロパティを更新しないのですか?私は私が推測することを通してそれを引っ張る必要があるDBContextと思います。
wpf - LINQ to SQL で SqlException をキャッチする方法
私の WPF アプリケーションでは、LINQ to SQL を使用しているため、 を呼び出すSubmitChanges()と例外がスローされますが、キャッチできません。
関連するコードは次のとおりです。
そして、これは上記がスローする例外です:
SqlExceptionWPFアプリケーションでキャッチする方法は?
SubmitChanges()例外がスローされないことがわかりました。しかし、例外を発生させたコードは、 を呼び出すコードですSubmitChanges()。
編集:
完全な例外は次のとおりです。
entity-framework - Silverlight 4 wcf ria 複数のレコードを保存する
わかりました、それは単なる学習の問題だと確信しています...しかし、私が使用している非常に正規化されたデータベースがあるので、製品tblに保存すると、productDollarテーブルなどもあります...私の質問Silverlight ではすべてが非同期なので、製品を保存して新しい ID を取得し、それを productDollar.productID fk として使用するにはどうすればよいですか
これまでのところ、他の保存では、submitchanges のコールバックで submitOperation を使用するだけで、そこで iscompleted をチェックし、次の保存などを行います...そして、そのようにそれらを連鎖させます。
しかし、保存する必要がある製品が 500 個あります (一度に) ので、製品オブジェクトの周りで foreach を実行しても機能しません。どんな助けや指針も大歓迎です