宗教戦争が始まるかもしれないので、この質問をするのは少し怖いので、私が探しているものを明確にしたいと思います. 私は、あなたがどちらかの方法でジャンプしたい、またはジャンプした理由と、私のリストに追加するアイテムを探しています. ビッグチケット、ビッグバンのアイテムを探しています。また、製品に固有のアイテム (実際に関連性がある場合)。この時点で、製品 A と製品 B ではなく、ORM とマニュアルを評価しようとしています。
ORM の利点
- 迅速なコーディングと低メンテナンス (一部/ほとんどのシナリオで) - 「無料」の追加機能 (開発者の労力なし)
ハンドコーディングの利点
- より効率的 (実行時、おそらく開発時ではない?) - 複雑さの少ないレイヤー - ほとんどの ORMS は、sprocs のみに制限されることに苦労しているようです
完全な開示のために、データベースに対して直接変更できないコードを「何か」が実行するという考えは本当に好きではありませんが、ORM の潜在的に膨大な開発時間の利点を見ることができます。
私が.Netの世界にいることもおそらく注目に値します
[編集] ( Using an ORM or plain SQL?の質問は、多くの質問に答え、パフォーマンスに関するポイントを補強しているようです)
だから、私の質問を少し変えるために
初期段階で ORM を使用してアプリを構築し、その後徐々にハンドコーディングされた DAL に置き換えた人はいますか? このアプローチの落とし穴は何でしたか?
[さらに編集 - 今すぐ問題の核心に迫る] データベースに対して任意の SQL を実行できる Web サイトを持つことは恐ろしいことです。すべてのアクセスが sprocs を介して行われる場合、私のデータベースは適切で安全で快適な分離状態に置かれます。排他的に sprocs を使用すると、すべてではないにしても多くの SQL インジェクション攻撃ベクトルが除去されます。それについて何かコメントはありますか?