2009-04-21 7 views
1

私はASP.NET MVCを使用するためにシステムを見直すことを望んでいますが、提供されているすべての例ではLINQ to SQLを使用する傾向があります。 LINQ開発者から、実際にストアプロシージャを呼び出すよりも遅いと言われました。LINQはストアドプロシージャを呼び出すよりも低速ですか?

また、MVCを使用して出力用にストアドプロシージャを呼び出す方法はありますか?私はストアドプロシージャが非常に大きく、複雑であるため、LINQが私たちのニーズを満たすとは必ずしも言えません。何かご意見は?

答えて

9

実際にLinqからSQLにストアドプロシージャを呼び出すことができます。 これを見てください:http://weblogs.asp.net/scottgu/archive/2007/08/16/linq-to-sql-part-6-retrieving-data-using-stored-procedures.aspx 私はC#/ VB.NETであなたのSQLコードを表現するための単なる方法であるため、Linqを使用してもパフォーマンスの低下はないと主張したいと思います。それはプレーンSQLに翻訳されます。 これは、ストアドプロシージャVSの通常のクエリの古い戦いです、Linqは本当に質問の一部ではありません。

+0

これはまさに私が考えていたものです。 LINQは文字通り、.NETコードからSQLへの「リンク」なのです。 sprocsのパラメータはどのように表示されますか? – Kezzer

+0

パラメータを受け取るストアドプロシージャを作成した場合、パラメータは同じですが.NETタイプのメソッドとして.NETに公開されます。 – Gustavo

0

私はLINQ to SQLが廃止され、LINQ to Entitiesは技術を使用すると考えています。

+2

実際には、あなたがダウン投票した人のために、彼は半分の権利です。 ADO.NETチームはLinq to SQLプロジェクトを中止しました。それは代わりにLinqをエンティティに使用することを正当化するものではありませんが...;) –

+3

いいえ、中止されていない、現時点ではまだ開発中ではありません。彼らは新しい仕事の可能性があると言ってきましたが、廃止されることはほとんどありません。 –

3

はい、特定のエッジのケースでは遅く、その場合はL2Sからsprocsを呼び出すことができます。

関連する問題