大きな古典的なASPデータベースアプリケーションのASP.Netへの変換を計画する初期段階にあり、使用するデータアクセス方法を選択する際に問題があります。私はLinq To SQL、Dynamic Data、強く型付けされたデータセット、エンタープライズライブラリ(データアクセスアプリケーションブロック)、そしてEntity Frameworkの小さなビットを使って遊んだことがありますが、それらのどれも私に "一つ"として飛び出しました。ちょっとあまりにも多くの選択肢があります - 私の頭は水泳です、私が選ぶのを助けてください!データアクセス方法の選択に関する助言が必要
おそらくそれは
は、バックエンドは、Microsoft SQL Serverの(2005以降)であり、我々は、にコミットしている...私は優先順位に合わせて変換していたアプリケーションのいくつかの背景を与えるために役立つだろうそれで、別のデータベースプラットフォームをサポートすることを心配する必要はありません。
データベースは非常に成熟しており、多くのビジネスロジックが含まれています。これは高度に正規化されており、ストアド・プロシージャ、トリガー、およびビューを幅広く使用します。私はむしろ2つの車輪を同時に改革したくないので、できるだけデータベースを少し変更したいと思っています。ですから、私はデータベース内のどのような癖にも対応できる柔軟性のあるデータアクセス方法を選択する必要があります。
アプリケーションには、多くのデータ入力フォームと広範な検索とレポート機能があります(レポートは後で取り上げるもう1つの獣です)。
アプリケーションは、データベース構造のマイナーな変更に対応できるだけの柔軟性が必要です。アプリケーション(およびデータベース)は、データベースに対してマイナーなカスタム変更が行われている別のサイトにインストールすることができます。理想的には、アプリケーションはデータベース拡張を識別し、適切に反応することができます。言い換えると、アプリケーションにO/Rマッピングを格納する必要がある場合、アプリケーションとデータベースを新しいサイトにインストールするときに、それをスワップ(または簡単に更新)できる必要があります。
迅速なアプリケーション開発が重要です。データベースはすでに完了しており、ユーザーインターフェイスは既存のアプリケーションと密接にマッチしているので、私はこれをかなり迅速に実行できる場所を見つけることを望んでいます。私はそれが開発に時間を節約するならば、絶対最新かつ最高の技術を使わずに犠牲にして喜んでいます。言い換えれば、Entity Frameworkのようなものを使用するのに熟練した学習曲線があれば、強く型付けされたDatasetsやカスタムDALなどの処理を高速化すればいいと思います。
私はASP.Netの初心者ですが、Classic ASP、T-SQL、古いADO(例:切断されたレコードセット)に精通しています。データアクセス方法のいずれかが私のバックグラウンドから来る人に適している場合、私はその方向に傾くかもしれません。
ご提供いただけるアドバイスありがとうございます!
同じことをする方法がたくさんあるので、1つのツールが他のツール(つまりどちらのツールをいつ使用するのか)に適しているかどうか確認したいと思いますか?いくつかのパラメータ(例えば、学習曲線、メンテナンス、シンプル、コミュニティサポートなど)に関するツールの評価と一緒に – shahkalpesh
私はnHibernateが非常に強力だと聞いたことがありますが、学習曲線がかなり険しいので、正しい方法。残念ながら、私たちはそのような時間がありません。 – CowherPower
あなたはどれくらい時間がありますか?私の最初のオブジェクトグラフ3をどのようにしてマッピングするかを理解するのに数日かかりました。私はあなたがチームを持っているように、1の開発者です。 – JoshBerke