誰かが私を正しい方向に向けることができるのだろうかと思います。私は最近、LinqToSQLで遊んできました。強く型付けされたデータオブジェクトなどを好きになりました。LinqToSQLデザインクエリ/心配
データベースパフォーマンスなどへの影響を理解するのは難しいです。たとえば、単純なユーザープロファイルページを開発していました。このページには、ユーザーに関する基本情報、最近の活動に関する情報、未読の通知のリストが表示されます。
このページのストアドプロシージャを開発していた場合、必要なすべての情報をカバーする複数のデータテーブルを返す単一のSPを作成することができました。
LinqToSQLを使用すると、多くのコールが発生する可能性があります.1つはユーザ情報、1つはアクティビティ、1つは通知です。通知の詳細情報が必要な場合は、複数のdbコールを呼び出します。
このデザインパターンを使用した結果、起こっているdbコールの数が心配すべきでしょうか?つまり、複数のDBハンドシェイクなどが私のdbなどを劣化させるのですか?
これに感謝します。
おかげ デビッド
私はLinq to SQLについて知らない - Linq to Entitiesについてもっと知っている。理想的には、ORMスタイルのシステムでは呼び出しをキャッシュして、必要なときだけDBに呼び出すことができ、可能な限りトリップを行うことができます。もちろん、ORMがあなたの呼び出しを分割するのではなく、このバッチ処理を利用するためにサーバ側の実装を書くことはあなた次第です(例えば、要求全体に対して1つのリポジトリ/コンテキストを使い、コンテキストを作成して破壊する関数を呼び出すのではなく、常に 'ToList'を呼び出すのではなく、' IEnumerable'の遅延を十分に活用してください)。 –
また、接続プーリングを利用する必要があるため、接続を閉じても実際にプールに戻すだけです。 Linq to Entitiesはこれを行い、LinqからSQLへの変換が可能かどうかはわかりません。 –
[Entity Framework VS LINQ to SQL VS ADO.NETとストアドプロシージャの可能な複製?](http://stackoverflow.com/questions/2698151/entity-framework-vs-linq-to-sql-vs-ado-net) -with-stored-procedures) –