2

私はMVC3を初めて使用し、これまでアプリケーションにLinqtoSQLとストアドプロシージャを使用してきました。Linq to SQLを使用するのか、従来のストアドプロシージャを使用するのかがあいまいです。ここでブログhttp://weblogs.asp.net/jalpeshpvadgama/archive/2011/06/20/petapoco-with-stored-procedures.aspxを見ました 。ここ では、ストアドプロシージャがエンティティフレームワークモデル内で使用されています。

しかし、MVC3アプリケーションに最適な方法がどれであるかわかりませんか?

4

2 に答える 2

1

2 つのアプローチの概要:

Linq から SQL へ:

Linq to Sql は、SQL をビルドします。SQL がどのようになるかはおおよそわかりますが、DB へのより複雑な呼び出しを取得すると、パフォーマンス上の目的で SQL の結果がどうなるかを制御するのが難しくなります。

この記事に従って、生成された Sql コードを表示することは可能ですが、生成された SQL を表示するにはコードを実行する必要があるため、SQL の調整が少し面倒になります。

ぺたポコ:

PetaPoco (完全なドキュメントを参照) を使用すると、エンティティを使用してテーブルを更新できます (単純な crud 操作に役立ちます)。さらに、単純にストアド プロシージャ名をそれに投げることができます。これにより、SQL Server Management Studio で SQL コードに集中できるようになり、チューニングが容易になります。

私の意見:

SQLコードをより適切に制御できるため、Linq to SqlよりもPetaPocoを使用する方が便利です。

パフォーマンスに関する考慮事項もあります。ぺたポコの方が早いようです。

于 2012-07-20T18:02:58.650 に答える
0

「MVC3 アプリケーションに最適な方法」はありません。アプリケーションの要件と自分の好みに完全に依存します。

手作業でコーディングされたクエリから、PetaPoco や Dapper などのマイクロ ORM や、nHibernate や Entity Framework のように考えられるすべての機能を備えた完全な ORM まで、幅広いソリューションがあります。

ただし、アプリケーションに最適なソリューションは、おそらくこれらを組み合わせたものです。私は、一般的なデータ アクセス シナリオのほとんどで、ORM がうまく機能することを発見しました。より高いパフォーマンスやクエリの制御が必要な場合は、Micro ORM が最適です。お好みで組み合わせてご使用いただけます。

StackOverflow のデータ アクセス戦略に関するこのブログ投稿は、興味深い読み物になるかもしれません。

于 2012-07-20T18:42:22.687 に答える