1

データアクセスにはEntity Frameworkを使用する予定です。ストアドプロシージャを使用するかどうかを決定する際には、ジレンマがあります。Entity Frameworkのデータアクセス設計を提案する(ストアドプロシージャを少なく)

ストアドプロシージャを避けるための主な考え方:データベースレベルでビジネスロジックを作成するのは避けてください。私はデータベースがストレージのためだけであると信じています。

データアクセスレベルでビジネスロジックをジョインすると、パフォーマンスが低下しますか?これはストアドプロシージャと同じくらい良いですか?あなたの推薦を提供してください。

よろしく、 ラマナアクラ。

+0

[LinqとEF(ベストプラクティス)を使用している場合は冗長SPです](http://stackoverflow.com/questions/4517891/are-sps-redundant-if-using-linq-and-ef-best) -練習) – Eranga

答えて

1

SPの欠点:

  1. SPコードは "固定" である - 例えばここでLINQの柔軟性はありません。これには、余分なレベルの同期が必要でした。
  2. ほとんどの場合、専門家が書いてください。ほぼすべてのC#開発者は歴史的にこれであまり良くありません。あなたが意図を持っていない場合でも
  3. あなたは大幅な性能向上を得ることはありません維持のSPのために余分な力を入れますが
  4. 、SPは、ビジネス・ロジック・コードの一部が含まれています。
  5. SPメンテナンスのコントロールを失った場合(またはDALに早すぎる最適化を追加する場合)、getXbyY、getXbyZ、getSomeFieldByX、geAnotherFieldsByXなど、より多くのSPが必要になります。

私の意見では、可能な限りSPを避けています。必要があると感じたら、データ/ストレージ構造の設計が間違っている可能性があります。

関連する問題