問題タブ [domaincontext]
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# - DomainContext から特定の削除済みアイテムを拒否する
Silverlight4 と Ria Service を使用しています:
3 つのレコード ( 1 、 2 、 3 ) を持つテーブル (「MyTable」と呼ばれる) があるとします。アプリケーションのどこかに次のコードを記述しました。
何らかの理由で、「保存」ボタンを押す前に、最初の削除済みアイテムを拒否したい(1)が、2番目のアイテムを削除したい(2)。これは、使用できないことを意味します:
すべての変更(削除したい削除済みアイテムを含む)を拒否するため、IRevertibleChangeTrackingを使用すると問題を解決できます。次のようなもの:
しかし、このインターフェイスを使用する前に、削除されたアイテムにアクセスする必要があります。最初は MyContext.MyTables 経由で取得しようとしましたが、削除されたレコードが含まれていないため、EntityChangeSet で取得しようとしました。
そして、私は IRevertibleChangeTracking を使用しました:
しかし、実行後、このコード行はレコードの状態を変更せず、「削除済み」のままだったので、「保存」ボタンを押すと、データベースから物理的に削除されました!!!! IRevertibleChangeTracking は、削除/追加されたアイテムに対しては機能しないようです (変更されたアイテムに対してのみ機能します)。
したがって、DomainContext から特定の削除済みアイテムを拒否する方法はありますか。
ありがとう、
c# - SubmitOperation の失敗時に DomainContext を最新の状態に保つ
背景: Silverlight 4 - RIA - Entity Framework 4
説明: 次のような削除コードがあります。
ここでは、アイテムがドメイン コンテキストから削除され、サービスは EF で操作を実行しようとします (これにより、DB で操作が実行されます)。
コールバック メソッド:
再現: アイテムを削除しようとしました (データベースの参照整合性制約のため削除できません)。エラーが発生したというメッセージが表示されます。それで大丈夫です。次に、他のアイテム (外部キーによって他のエンティティに関連付けられていないアイテム) を削除しようとすると、このアイテムをデータベースから削除できるにもかかわらず、同じメッセージが表示されます。
問題は、ドメイン コンテキストから最初の項目を削除したことです (データベースからは削除されていませんが)。したがって、2 番目の項目を削除しようとすると、コンテキストからも削除されます。変更を送信するとき、最後の項目を DB から削除できますが、問題は、変更がコンテキスト全体に対して送信されることです。最初のステップで、DB から削除できない項目を削除したため、送信操作は失敗します。
質問:送信に失敗した場合に操作を「ロールバック」する正しい方法 (ベスト プラクティス) は何ですか? 私が考えることができる唯一の考えは、別のドメインコンテキストを作成してデータを再度ロードすることですが、ロードされるデータの量のためにそれを避けたいと思います. コンテキストを以前の状態に戻すか、保留中の変更をキャンセルできますか? この問題にアプローチするには?
c# - VB.NETでこれを行う方法は?
この C# コードを VB.net に変換する際に問題が発生しました。VB.NET に変換した後、loadLecturer に問題があるようです。
InitializeComponent() 直後の VB コード
変換してデバッグしたい C# コード
silverlight - 2つの別々のDomainDataSourceを使用したSilverlightDomainContextの読み込み
DataContextに関して混乱があり、誰かに確認またはコメントしてもらいたいのですが。
平易な英語では、DataContextは、ロード時にエンティティで埋めることができるコンテナであると思います。
たとえば、とという名前の2つのエンティティがCustomers
ありOrders
ます。新しいDomainContextを宣言します
私はこのようにロードCustomers
しますDomainDataSource
:
同じドメインコンテキストを使用して注文をロードすると、
変更を送信した後ctx.SubmitChanges()
、DomainContextはサーバーに戻り、CustomersとOrdersの両方を含むすべての変更をサーバーにコミットしますか?これらの両方のエンティティに新しいレコードが追加され、既存のレコードが編集されましたか?
私はSilverlightを初めて使用し、DataContextがどのように機能するかについてしっかりとした概念を求めていました。ホワイトペーパーを確認しましたが、探していた答えが見つからない可能性があります。
entity-framework-4.1 - WCF RIA チェンジセット オーダーの送信。親エンティティの前に子エンティティを挿入するのはなぜですか?
これが私の問題です: Silverlight+ WCF RIA + EntityFramework とドメイン データソースを使用しています。次のように、クライアント側に親エンティティと子エンティティ(親は多くの子を持つことができます)を挿入しています:
サーバー側で「submitChanges」を呼び出すと、子エンティティの「挿入メソッド」が親エンティティの前に呼び出されます。そのため、外部キー制約により例外が発生します。ここのコードは単純化されています。実際のケースでは、submit changes を 2 回呼び出すことはできません (1 つは親エンティティの作成後、もう 1 つは子の作成後)。
サーバー側で挿入順序を制御するにはどうすればよいですか、または何が間違っていますか?
助けてくれてありがとう。
entity-framework-4 - Silverlightで1つのプロセスで送信操作を2回呼び出す方法は?
MVVM のコンセプトとエンティティのフレームワークを使用して Silverlight アプリケーションを使用していますが、値の挿入に問題があります。SubmitChanges メソッドを使用して、データを更新、挿入、または削除します。
保留中の変更はすべて 1 回の操作で送信されます。
1 つのプロセスで SubmitChanges メソッドを 2 回使用することはできますか?
以下の要件があるため:
- 最初のステップでは、テーブル B にデータを挿入しています。
- 2 番目のステップでは、テーブル A にデータを挿入しています。ここで、テーブル A はテーブル B との FK 関係を持っています。そのため、最初のステップでのみデータ (テーブル B) を挿入しています。
しかし、問題は次のとおりです。submitChange メソッドは、保留中のすべての変更を一度に挿入します。
1 つのプロセスで 2 回データを送信する必要があります。
c# - ビュー モデルでドメイン サービスのデータにアクセスするにはどうすればよいですか? Silverlight 5 アプリケーション
私は Silverlight の初心者で、慣れ始めたばかりですが、今は問題があります。私の StudentDomainService には、すべての生徒を返す次のメソッドがあります。
StudentService は、アプリケーションのビジネス部分のクラスです (プロジェクトがあり、いくつかの要件に従う必要があります。そのうちの 1 つは、StudentModel、StudentRepository、および StudentService を含むビジネス ソリューションを用意することです)。.web ソリューションには、StudentService クラスにアクセスできる StudentDomainService があります。問題は、View Model に次のメソッドがあることです。
しかし、明らかにこれは間違っています。なぜなら、それはまったく何もせず、ドメインコンテキストを正しい方法で使用していないことが問題であることを知っていますが、これを修正する方法がわからないため、誰かが教えてくれれば幸いですこれを正しく行うには。ありがとうございました!