2

私は若い開発者で、データベースにアクセスしてデータを取得するさまざまな方法を実際には知りません。私が知っている方法の 1 つは、DataAdaptor と SQLcommand をデータベース チームが提供するストアド プロシージャと共に使用して、データベースに接続し、データを DataTable に入力することです。次に、データテーブルを処理に使用するか、表示目的でグリッドビューなどにバインドします。

しかし、レビュアーが私のコードをレビューしたとき、データテーブルは非常に古い方法だと言いました。彼はむしろオブジェクトか何かを使うと言ったが、私には手がかりがない.

では、データベースを接続してデータを取得するためのより良い (または最新の) 方法はありますか? これは一般的な質問であり、私のプログラムが実際に行うこととは関係ありません。

4

2 に答える 2

3

Java の世界が ORM を何年も使用していた .NET 1.0 の時点では、それらはばかげた考えでした。ADO (ADO.NET ではない) がリリースされ、ORM が Java の世界で既に使用されていたとき、それらはばかげた考えでした。私は Visual Basic (.NET ではない) で使用しました。

適切な OO プログラミングを学びます。データセットを使用している人は誰でも、MS の「UI を高速にする方法」の例を見ただけで、trpoper オブジェクト指向プログラミングの実践を学んだことがないことをほとんど示しています。

私は 15 年間確立されたテクノロジーを「現代的」とは呼びません。

たとえば、LINQ について知っておく必要があります。Entity Framework - どちらも .NET Framework の一部であり、しばらくの間 (4.0 以降) です。

これは「年齢」ではなく、自分が何をしているかを知ることです。そして、ドキュメントを一度読んでください。「若い料理人」がコショウしか知らないとき、彼は料理人ではなく、ワントリックポニーです. データベースからデータを取得するすべての方法を知らない「若い」(研修生ではない) .NET 開発者は、.net 開発者ではありません。詳細について質問することは問題ありませんが、Entity Framework について聞いたことがないというのは、ドキュメントを読んだことがない人です。

そしてまた。ORM は新しいものではありません。それらは .NET 1.0 の時代に存在し、古い Visual Basic の時代にも存在していました。

于 2012-11-09T09:38:15.637 に答える
2

同僚はおそらく、データベースに対してオブジェクト指向の抽象化を提供するnHibernateやEntityFrameworkなどのORMに精通しているでしょう。

オブジェクトリレーショナルマッパーは、多くの「接着」タスクを安全かつ自動的に実行します。これのまともな例は、データベースの関係などです。

MVCスペースでは、サーバーに提示されるオブジェクトには、基盤となるデータアクセス構造に関する情報がないのが一般的です。

私はまだいくつかの非常に限られた状況でDataTableを使用しています。私の主な懸念事項は次のとおりです。-

  • 非常に一般的なソリューション。ドメイン固有ではありません。

これを、特定の仕事を実行することを目的とした専用のクラスと比較してください。

  • 多くの結合、多くのエラーチェック、またはその両方。

多くの場合、DataTableを使用して他のデータを入力する必要があります。これを適切に行うには、NULLなどをチェックする必要があります。通常は次のようになります。-

string thing = (row["Thing"] == DBNull.Value ) ? string.Empty : (string)thing;

それは面倒で、時間がかかり、エラーが発生しやすいです。

ただし、ほとんどの場合、これは、人々がDBから直接プルして、Webページ上でそれを非難する時代からのアーティファクトです。現在、n層製品の間にはいくつかの抽象化レイヤーがあり、DataTableは、ORMから得られるベルやホイッスルの代わりにはなりません。

于 2012-11-09T09:52:09.607 に答える