問題タブ [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# - LINQ DataContextは、アタッチされていないオブジェクトを挿入します
2つの別々のオブジェクトを作成しました。1つはクラスOrderで、もう1つはクラスTempOrderです。db.TempOrders.InsertOnSubmit(obj)を使用してTempOrderオブジェクトをdbに挿入しようとした後、db.SubmitChangesを呼び出すと、Orderオブジェクトも(データコンテキストなどにアタッチされずに)送信されます。データベース内の2つのオブジェクト間には関係はありませんが、TempOrderがある場合(toNewOrder-toNewTempOrder)にOrderオブジェクトを作成するために、クラスに単純なメンバー関数を作成しました。私が使用しているコードは以下のとおりです。
db.Add(temp)が呼び出されると、チェンジセットには一時オブジェクトと注文オブジェクトも含まれます。どうすればこれを回避できますか?私は何か間違ったことをしていますか?これは関数.toNewTempOrder()が原因ですか?私はこれで立ち往生しています。
c# - 多数の挿入に対して DataContext.SubmitChanges() を呼び出す頻度は?
InsertOnSubmit
コールする前に何回コールすればよいSubmitChanges
ですか? 一度に 1 レコードずつ何万ものレコードを返すことができる Web サービスからデータを追加しています。Web サービスのラッパー クラスはレコードをIEnumberable
コレクションとして公開し、精巧なチャンキング メカニズムを隠します。
インサートを提出する前に蓄積すべきインサートの数に関するガイドラインはありますか?
linq - LINQの変更の更新に関する問題
データベースの更新に問題があります。アプリは更新された値を表示しますが、データベースは表示しません。エラーは返されませんでした。私のテーブルにはPKがあります。DotConnect for Oracleを使用しますが、LINQ構文は同じです。
コンソールは正しい更新値を読み取りますが、DBは更新されません。
データ関数、DFunc.GetFoodOrder(Oid)およびデータコンテキスト関数は以下のとおりです。どちらもLINQDALとして別のアセンブリに含まれています。
linq-to-sql - LINQ to SQL - ストアド プロシージャは、送信されていないデータ コンテキストの変更とどのようにやり取りしますか?
ここで誰かが尋ねました:
「Linq-To-Sql を使用すると、SP を呼び出すことができます。この SP が更新/削除/挿入を実行する場合、その後に SubmitChanges() を実行する必要がありますか?」
そして答えは次のとおりでした。
「いいえ。コードは機能します。変更の送信は、変更された LINQ to SQL オブジェクトにのみ関係し、ストアド プロシージャには関係しません。」
明確にしたいのですが:
(すみません、私は比較的LINQに慣れていません)
はい、しかし、ストアド プロシージャは datacontext オブジェクトをバイパスし、データベース自体を変更しませんか? (一方、linq は、datacontext.submitchanges メソッドが呼び出されるまで、datacontext オブジェクトのみを変更し、そこでデータベースを変更します)
ストアド プロシージャでデータ コンテキスト オブジェクトを変更することはできますか? すでにこれを行っていますか?
そのようにしてもらえますか
- linq を使用して SP を呼び出すと (データベースが直接変更されると想定しています)、
- 次に、linq を使用してデータ コンテキスト オブジェクトを変更し、データ コンテキスト オブジェクトに加えた変更を送信します。
私が行った2つの異なる変更(1つはSPで、もう1つはデータコンテキストへのLinq)は干渉しませんか?
私が本当に欲しいのは、ストアド プロシージャでデータ コンテキストを変更する方法です。これは可能ですか?
主にストアド プロシージャを持つ Web サイトを SQL から LINQ に変換し、どのストアド プロシージャを LINQ に変換し、どのストアド プロシージャを SQL に保持し、LINQ で SP 呼び出しを行うかを選択しようとしていることを言及する必要があります。
助けてくれてありがとう - ジェフ
linq - Linq SubmitChanges() 関数 - いつ呼び出すか?
Linq を使用してデータを操作する場合、どのくらいの頻度で SubmitChanges() メソッドを呼び出す必要がありますか?
私のプロジェクトには、外部キーに関連するテーブルがいくつかあります。作成 SQL では、これらの外部キーは制約されているため、関係の一部であるレコードは、従属レコードが最初に削除されない限り削除できません。
したがって、リレーション内のレコードを削除する必要がある特定の順序があります。各レコードを削除し、毎回データベースで SubmitChanges() 関数を実行する必要がありますか? それとも、一度にすべての削除を実行できますか?
編集: 私の主な質問は: コードでレコードを削除するのと同じ順序で、SubmitChanges() でレコードが削除されますか?
linq-to-sql - 複数のオブジェクトに対する Linq to SQL InsertOnSubmit
Linq to SQL InsertOnSubmit に問題があります。これは、テーブルの最初の項目に対してのみ機能するようです。
たとえば、次のようにします。
データベースに挿入された最初のエンティティ ("Test Note Title 1") のみを取得します。各 InsertOnSubmit の後に SubmitChanges を配置すると、すべての行が正常に挿入されます。
上記のタイプはすべて Note クラスから継承されているため、同じテーブルに挿入されます。
ただし、非派生クラスでも同じ問題が発生しています。
私はこれを長い間見てきましたが、間違ったことを見つけることができません。InsertOnSubmit/SubmitChanges の全体的な考え方は、複数の変更を行うことができるようにすることです。そのため、欠けている単純なものがあるはずです。
exception - sqlite 例外 ID の問題
プログラムが mainDb.SubmitChanges() を実行すると、このエラーが発生します。
プロジェクトの値に挿入 (@p0)
SELECT CONVERT(Int, SCOPE_IDENTITY()) AS [value] -- @p0: 入力文字列 (Size = 0; Prec = 0; Scale = 0) [test2] -- コンテキスト: SqlProvider(Sql2008) モデル: AttributeMetaModel ビルド: 3.5 .30729.4926
私のコードには次のファイルがあります: Program.cs [これはメイン プログラム ファイルです]
もう 1 つのファイルは次のとおりです。mainDb.cs [このファイルには、DataContext から継承されたクラスがあります]
最後のファイルは Project.cs です [これはそれを sqlite データベースにマッピングするためのクラスです]:
mainDb.SubmitChanges(); を実行する場合を除いて、コードは正常に機能しています。Program.csで、何か考えはありますか?
wcf - LINQ toSQLSubmitChangesが機能しないFILESTREAMテーブル
いくつかのテーブルにデータを挿入し(1つのテーブルにはFILESTREAM列があります)、完了後にSubmitChangesを呼び出すコードがあります。
次のリンクを参照しましたが、問題ではないようです。
LINQ to SQL:SubmitChanges()が機能しませんか?
各テーブルには主キーがあります。
14個のテーブルがあり、linq.designer.csに14個のIsPrimaryKey=trueが含まれていることがわかります。
「AutoSync=AutoSync.OnInsert」がFilesテーブルにないことはわかりますが、これはIDENTITYが設定されていないためだと思います(主キーとしてguidを使用)。
データベースを確認したところ、何も挿入されていませんでした。linq.logは次のことを示しています。
サーバープロファイラーを見ると、RPC:Completed exec sp_executesql "GoodInsertStatement"が記録されています。
Server Manager Studioを介してSQLを手動で実行すると、すべてが正常に機能します。SAまたはWebサービスで使用されるクレデンシャルを使用してログインすることで、これを正常に実行できます。
ただし、LINQSubmitChangesはエラーをスローしません。それが機能しない理由は何ですか?部分クラスのInsert/Update/DeleteFile関数をオーバーロードしていません。
ただし、他のテーブルの変更は正常に機能しているようです。FILESTREAM列と関係があるのだろうかと思います。
私の接続文字列は次のとおりです。
レコードをテーブル(FILESTREAMテーブル)に手動で配置すると、そのデータを正常に読み取ることができます。
最後に、ファイルI / Oストリーミングアクセスではなく、Transact-SQLアクセス用にFILESTREAMを構成しました。私がそれを理解した方法から、データの場所に共有フォルダーを用意する必要はないと思いました。FILESTREAMデータに到達するために、すべてがデータベースを通過するようにしたかったのです。
ありがとう!
修繕
私は次のコードを持っています:
そして私のsubmitchangesは次のようになりました:
誰でも?誰でも?私は完全な声明を忘れました...笑。submitchanges領域にさらに追加し、ロールバックしたいと思っていたので、usingステートメントをそこに残しましたが、変更をコミットすることはありません...みんなありがとう!
linq-to-sql - linqtosql続行エラー
SubmitChanges()を実行しようとすると、linqクエリでエラーが発生しました
問題は、プロジェクトで何をしようとしても、同じエラーが発生することです(linqはまだエラー変更を実行しようとしていると思います)
ペンディングの変更をクリーンアップする方法、またはその問題に対処するにはどうすればよいですか?
ありがとう!
linq-to-sql - 統合言語クエリが機能しなくなる
ねえ、私は奇妙な問題を抱えています、私はLinqを使用してプロジェクトを構築しました、そしてそれのほとんどはうまくいきます、しかし時々すべてのLinqのリポジトリコマンドが機能しなくなり、私はエラーを出します、私が既存のdllを上書きすると問題は解決しますLinqプロジェクトのファイル?たぶん1つの悪いコマンドが残りをDatacontextに傷つけますか?問題は、どうすればそれに対処できるかということです。
ありがとう、
など、次のようなエラーが発生します。サーバーにリクエストを送信するときにトランスポートレベルのエラーが発生しました。(プロバイダー:TCPプロバイダー、エラー:0-既存の接続がリモートホストによって強制的に閉じられました。)