問題タブ [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.

0 投票する
2 に答える
23776 参照

linq - LINQ が .SubmitChanges() で更新されない

このようなものがうまくいかない理由はありますか?

これは、LINQ を使用してテーブル内のレコードを更新するために何度も使用したロジックです。

(updateUser.InUse はビットフィールドです)

何らかの理由で機能していません。linq.log を確認すると、完全に空白です。

.dbml に問題がある可能性はありますか? 他のテーブルは正常に動作しているようですが、.dbml のプロパティを比較したところ、すべて一致しました。

のようですdb.SubmitChanges()。更新が必要であることを検出しません。

0 投票する
1 に答える
1634 参照

linq-to-sql - DLINQ-.InsertOnSubmit(...) なしで挿入されるエンティティ?

DLINQ の使用中に興味深い問題に遭遇しました。エンティティをインスタンス化すると、DataContext で .SubmitChanges() を呼び出すと、.Insert[All]OnSubmit(...) を呼び出すことなく、新しい行がデータベースに挿入されます。

上記のコードを実行すると、データベースに新しい行が挿入されます。XML ファイルを解析していくつかのテーブルにデータを入力するアプリを作成しているときに、この影響に気付きました。約 50 程度しかないと予想していたときに、1000 以上の挿入があることに気付きました。その後、最終的にこの動作を分離しました。

これらのオブジェクトが暗黙的に永続化されないようにするにはどうすればよいですか?

ありがとう -チャールズ

0 投票する
3 に答える
1471 参照

.net - データ コンテキスト SubmitChanges() は例外なくコードを終了します - iis5.1 に展開された .net mvc

初めてのアプリケーションを .NET MVC にデプロイしたところ、問題が発生しました。

ルーティングに関する iis 5.1 の問題を解決しました (誰かがこれを探している場合は、http: //itscommonsensestupid.blogspot.com/2008/11/deploy-aspnet-mvc-app-on-windows-xp-iis. html )

**ここでの問題は、データ コンテキストで db.SubmitChanges() を呼び出すと、コードの続行が停止され、更新が行われないことです。Web サイトを公開する際に欠けている手順はありますか? **

0 投票する
2 に答える
1801 参照

c# - GetChangeSet ChangeSet、Linq 変更が適用される順序は?

linq submit changes 呼び出しの直前に変更セットを取得するコードを実行しています。

何かを行うセクションでは、物事が送信された順序と、データベースに投稿される順序を知る必要があります。変更セットには、.Inserted、.Updated、.Deleted があることがわかります。これらは適用される順序になっていると思いますが、全体的な順序を知りたいです。挿入、更新、さらに 3 回の挿入、またはこれらのコレクション間を行ったり来たりする必要があると思います。

更新 1

申し訳ありませんが、タイトルは明らかだと思いました、Linq to SQL

更新 2

私がこれを行っている理由は、これらを後で別の DB に再生するためです。

0 投票する
2 に答える
818 参照

linq - TimeStamp と StoredProcedures を同時に使用せずに Linq SubmitChanges を使用する

行バージョンまたはタイムスタンプなしで SQL テーブルを使用しています。ただし、テーブル内の特定の値を更新するには、Linq を使用する必要があります。Linq は更新する値を認識できないため、2 番目の DataContext を使用してデータベースから現在のオブジェクトを取得し、次のようにデータベースと実際のオブジェクトの両方を Attach メソッドの入力として使用しています。

これは機能しますが、問題があります。StoredProcedures を使用して、特定の時間に Customer の一部のフィールドを更新しています。次のワークフローを想像してください。

  1. データベースから顧客を取得
  2. 顧客フィールドを新しい値に設定する
  3. ストアド プロシージャを使用して別の顧客フィールドを更新する
  4. SaveCustomer を呼び出す

ここで、SaveCustomer メソッドは、コードで設定された値を含まないが、ストアド プロシージャによって設定された値を含む現在のオブジェクトをデータベースから取得します。これを実際のオブジェクトにアタッチしてから送信すると、コードで設定された値がデータベースでも更新され、... tadaaaa... 他の値が NULL に設定されます。ストアド プロシージャ。

それは理解できましたか?

この問題を解決するためのベスト プラクティスはありますか?

0 投票する
1 に答える
1396 参照

linq - linq に不要なレコードを挿入する submitChanges() の問題

LINQ を使用してデータベースにレコードを挿入しています。これらのレコードを作成し、リストを使用してそれらを追跡します。いくつかのロジックに基づいて、リストから削除することでレコードの一部を削除します。(同じ DataContext オブジェクトを使用しています)。

データベースにレコードを挿入する場合は、対応する linq テーブルの InsertOnSubmit() に続いて、datacontext オブジェクトで SubmitChanges() を実行します。LINQ は、リストに存在するレコードと共に、リストから削除されたレコードも挿入します。

例:

この msdn 記事Object States and Change-Tracking (LINQ to SQL) に出くわしました

InsertOnSubmit を使用して、挿入を明示的に要求できます。または、LINQ to SQLLINQ to SQL は、更新する必要がある既知のオブジェクトの 1 つに接続されているオブジェクトを見つけることによって、挿入を推測できます。たとえば、Untracked オブジェクトを EntitySet(TEntity) に追加するか、EntityRef(TEntity) を Untracked オブジェクトに設定すると、グラフ内の追跡対象オブジェクトを介して Untracked オブジェクトに到達できるようになります。SubmitChanges の処理中に、LINQ to SQLLINQ to SQL は追跡されたオブジェクトを走査し、追跡されていない到達可能な永続オブジェクトを検出します。このようなオブジェクトは、データベースへの挿入の候補です。

質問はこれに要約されると思います-削除されたオブジェクトの状態を「追跡なし」に変更するにはどうすればよいですか?

リストからオブジェクトを削除した後、DeleteOnSubmit を試しましたが、例外が発生しました (アタッチされていないエンティティを削除できません)。

誰かが私に解決策を教えてもらえますか? ありがとう。

LINQ のみを使用してこれを達成できるかどうかを知りたいです。(ストアド プロシージャを使用して、リストにレコードのみを挿入できることはわかっています。)

0 投票する
1 に答える
3477 参照

linq-to-sql - SQLサーバー上のNText、Text、およびImageに関するLINQの問題

これは質問ではなく解決策ですが、答えを見つけるのに多くの検索が必要であり、グーグルはあまり役に立たなかったので、前もってお詫びします。そこで、エラーを提供してコミュニティに何かを返したいと思いました。将来のグーグルを助けるための解決策。

LINQ to SQLを使用しているときに、データテーブルに変更を(2回目)送信するときに問題が発生しました。最初に変更を送信するときはすべて問題ありませんが、2回目に変更を送信するときは、次のようなSQL例外を受け取りました。

SubmitChanges()を呼び出しているときに例外がスローされましたが、LINQの遅延読み込みのため、Refresh(RefreshMode.KeepCurrentValues、myObject)を呼び出しているときに実際に前の行で発生しました。