2

データベースからデータを取得するとき、どのシナリオを好みますか?

1 - データテーブルにデータを入力してから、データグリッドビューをそれにバインドしますか?

また

2- 独自のカスタム オブジェクトのジェネリック リストを生成し、それに datagridview をバインドしますか?

ありがとうございました

4

2 に答える 2

2

2 - オブジェクトのリスト :-)

理由(またはマークのメモとして、「メリット」):

  • 軽量化
  • カスタム クラスを介してリストを拡張する機能
  • ビジネス オブジェクトにより適した方法でオブジェクトにフィルター/linq を使用する可能性
  • DataTables は Microsoft 固有です。それらを Microsoft 以外の Web サービス、つまり Java Web サービスに渡す必要がある場合は、それに渡す別のビジネス オブジェクトを作成する必要があります。
  • 現在の OR/m の実装を確認してください - そこには多くのデータテーブルがありません..
  • それがWebプロジェクトの場合、結果をデータリーダーに読み込んでいる間、接続を開いたままにしておくことは、ちょっとしたことではありません
  • DataTables は、ビジネス ロジックをユーザー インターフェイス レイヤーに配置するよう開発者に要求するところです。ビジネス オブジェクトにビジネス ルール領域があると、コーダーはビジネス ルールを適切な場所に配置するように求められます。
  • 結果の単体テスト - インターフェイスを介して定義されたカスタム クラスではるかに簡単
  • プロパティの厳密な型指定 (データテーブルの「フィールド」に対する文字列インデックスではなく)

また、DataTable を直接使用するということは、基になるデータ ソースとその構造に自分自身を結びつけることを意味します。保守性の観点から、これは良い考えではありません。ビューが必要とするのがいくつかのオブジェクトのリストだけである場合は、それだけを指定する必要があります (つまり、リスト)。

[編集] - 古い記事ですが、「議論」に追加する価値があります:

DataSet とビジネス オブジェクトを比較検討するときは、ビジネス オブジェクトを使用して適切に設計されたアプリケーションは、アプリケーションのメンテナンスにおける将来の問題を軽減し、最終的にはサポート コストの削減につながることを覚えておいてください。

http://www.kellermansoftware.com/t-articlebusinessobjects.aspx

于 2011-01-31T10:22:12.847 に答える
1

db を直接操作することはお勧めしません。優れた ORM があります。LINQ to SQL、Entity Framework、NHibernate です。古い面倒なデータテーブルが必要なのは誰ですか?

于 2011-01-31T10:41:22.930 に答える