問題タブ [insertonsubmit]
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.
linq-to-sql - DLINQ-.InsertOnSubmit(...) なしで挿入されるエンティティ?
DLINQ の使用中に興味深い問題に遭遇しました。エンティティをインスタンス化すると、DataContext で .SubmitChanges() を呼び出すと、.Insert[All]OnSubmit(...) を呼び出すことなく、新しい行がデータベースに挿入されます。
上記のコードを実行すると、データベースに新しい行が挿入されます。XML ファイルを解析していくつかのテーブルにデータを入力するアプリを作成しているときに、この影響に気付きました。約 50 程度しかないと予想していたときに、1000 以上の挿入があることに気付きました。その後、最終的にこの動作を分離しました。
これらのオブジェクトが暗黙的に永続化されないようにするにはどうすればよいですか?
ありがとう -チャールズ
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 のみを使用してこれを達成できるかどうかを知りたいです。(ストアド プロシージャを使用して、リストにレコードのみを挿入できることはわかっています。)
linq-to-sql - LINQ to SQL: "SubmitChanges" の呼び出し中にエンティティを読み取ると DuplicateKeyException が発生する
対処方法が本当にわからないという奇妙な動作が発生しています。エンティティが挿入された直後 (ExecuteDynamicInsert の直後) にエンティティを読み込もうとしていますが、部分メソッドが戻ると、常に System.Data.Linq.DuplicateKeyException "The database generated a key that is already in use. "。
非常に単純な例で達成しようとしているのは次のとおりです。
DataContext ファイル MyDataContext.cs:
プログラム ファイル Program.cs:
挿入後に国を読み取らなければ、コードは正常に機能しますが、何らかの理由で国を読み取る必要があり、ChangeSet を使用したくありません。
これを達成する方法、またはこの動作を回避する方法はありますか?
前もって感謝します。
linq-to-sql - LinqToSql - 「送信時に挿入」
テーブルの 1 つに行を挿入しようとしているので、Web を調べて DATACONTEXT を使用する例を見つけたところ、次のものが見つかりました。
しかし、私がそれを使用して書いてみると: context.Guides.
-InsertOnSubmit
メソッドが表示されません..誰かが理由を知っていますか?
ありがとう、ヨニ。
c# - Linq to SQL:InsertOnSubmitを介してSubmitChangesの前に追加された値を取得する方法は?
これを入手するのに苦労しています。InsertOnSubmit メソッドを使用してテーブル エンティティに追加した値を取得する必要があります。ただし、テーブルで SubmitChanges をまだ呼び出していません。
だから、私はループにこれを持っています: mdmDC.tblMDMListItems.InsertOnSubmit(listItemsTable);
しかし、これまでに入力されたいくつかの値について mdmDC.tblMDMListItems を照会したいのですが、それができないようです。その後も、mdmDC.tblMDMListItems のカウントの上のコードは 0 です。
SubmitChanges の前に追加された値を取得するにはどうすればよいですか?
ありがとう!!
c# - LINQtoSQLでInsertOnSubmitを実行するときのNullReferenceException
私のデータベースには、StaffMembersというテーブルがあります
linq-to-sqlを使用してこれを.netプロジェクトに取り込むと、エンティティクラスStaffMemberが作成されます。
これで、プロジェクトに部分クラスStaffMemberも作成して、他の最上位レイヤーで使用するプロパティを追加しました。例えば。IsDeletedプロパティ。この部分クラスは、他のいくつかのプロパティも確実に実装されるように、抽象クラスとインターフェースも継承します。
「StaffMember」の新しいインスタンスを作成すると
例えば。StaffMember newStaff = new StaffMember(); そしてそれにすべてのプロパティなどを与えます
次に、マネージャーを介してコンテキストでInsertOnSubmitを呼び出します。
「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが発生します。
on context.StaffMembers.InsertOnSubmit(newStaff);
スタックは言う
なぜこれが起こっているのか、そしてそれを回避する方法は何かという考え。
ありがとう
linq - In which layer to make linq-sql calls as SubmitChanges(), InsertOnSubmit() etc
Which layer is the best layer to make linq-sql calls as SubmitChanges(), InsertOnSubmit() etc.
For example, let's say I have two tables Parent and Child. Child table has foreign key on parent (Child table has ParentId column). I want to insert parent object and child objects into the db.
Using linq-sql, I can do this.
Am I mixing Presentation layer code with data access layer? If so, how do I do it with a business layer object in between?
Please let me know. Thanks.
c# - [LINQ] InsertOnSubmit NullReferenceException
LinqToSqlにかなり厄介な問題があります。DataContextのクラスから派生したクラスを作成しました。
問題は、「InsertOnSubmit(this);」を使用するとすぐに発生することです。この派生クラスでは、NullReferenceExceptionが発生します。
同じ問題を抱えている人を見かけました。ただし、カスタムコンストラクターを使用し、このスレッドのように「:this()」を呼び出すことで問題を解決しましたhttp://social.msdn.microsoft.com/Forums/en-US/linqprojectgeneral/thread/0cf1fccb-6398-4f16 -920b-adef9dc4ac9f
違いは、デフォルトのコンストラクターを使用することです。これにより、基本コンストラクターが呼び出されるため、問題は発生しません。
誰かがこれで私を助けてくれませんか、迷惑になり始めます!
ありがとう :)
linq - LINQ .InsertOnSubmit を機能させる
LINQ を使用して挿入を機能させようとしていますが、いくつかの問題があります。
この例を使用してコードをベースにしています: http://msdn.microsoft.com/en-us/library/bb763516.aspx
データ オブジェクトをセットアップしましたが、db.Orders.InsertOnSubmit の実行時に何が起こっているのかわかりません。
この db オブジェクトを作成して、InsertOnSubmit を使用してデータベースにデータ オブジェクトを挿入するにはどうすればよいですか?
編集:ここに私が取り組んでいるいくつかのコードがあります(それはおそらく間違った世界です、私はこの時点で暗闇の中でかなり手探りしています)。私はデータベース オブジェクトに非常に慣れていないので、概念全体が少し混乱しています。
linq-to-sql - 複数のオブジェクトに対する Linq to SQL InsertOnSubmit
Linq to SQL InsertOnSubmit に問題があります。これは、テーブルの最初の項目に対してのみ機能するようです。
たとえば、次のようにします。
データベースに挿入された最初のエンティティ ("Test Note Title 1") のみを取得します。各 InsertOnSubmit の後に SubmitChanges を配置すると、すべての行が正常に挿入されます。
上記のタイプはすべて Note クラスから継承されているため、同じテーブルに挿入されます。
ただし、非派生クラスでも同じ問題が発生しています。
私はこれを長い間見てきましたが、間違ったことを見つけることができません。InsertOnSubmit/SubmitChanges の全体的な考え方は、複数の変更を行うことができるようにすることです。そのため、欠けている単純なものがあるはずです。