1

デザインのジレンマが発生しましたが、Linqシーン全体に慣れていないため、これにどのようにアプローチすればよいかわかりません。datagridviewを使用してwinformsアプリケーションを作成し、データベースのデータを表示することを計画しています。ユーザーがデータを操作して変更するために実行できるボタンやその他の機能があります。しかし、これにアプローチする方法がわかりません。フォーム内に変更を追跡するグローバルデータコンテキストを設定し、.SubmitChanges()を使用してコミットし、linqにバックグラウンドですべてを実行させるか、すべてのボタンイベントに対して新しいデータコンテキストを作成しましたが、linqは変更を追跡できなくなったため、ユーザーの変更を追跡するための何らかのカスタムデータ構造を作成してから、データベースを更新します。

私が何を考えても、グローバルデータコンテキストを使用すると(コーディング的に)簡単になりますが、問題が発生する可能性があることを読んでいましたか?

中央データベースに接続すると同時にアプリを使用する複数のユーザーが存在します。私はどんな提案にもオープンですが、これを行う正しい方法がわからないだけです。

ありがとう!

4

1 に答える 1

1

私のASP.NETアプリケーションでは、要求ごとにグローバルコンテキストを保持しているため、フォームのグローバルコンテキストの考え方は悪くありません。特に相互に関連するデータを保存している場合、複数のコンテキストからクエリされたデータを相互に関連付けようとすると、エラーが発生します。したがって、グローバルコンテキストはその観点から有益です。特に、Windowsフォームはそれにバインドされたオブジェクトを保持できるため(ステートレスであるためASPとは異なり)、これらの変更はより適切に同期されます。

覚えておく必要がある唯一の欠点は、大量のデータをロードしている場合、グローバルコンテキスト、エンティティの変更を追跡している場合、それらすべてのオブジェクトをメモリに保持し、コンテキストが影響を与える可能性があるポイントまで成長する可能性があることですパフォーマンス...

HTH。

于 2012-07-20T16:07:45.097 に答える