2010-12-28 6 views
1

私が知りたいのは、Entity FrameworkまたはユーザーLinq-Entitiesクエリでストアドプロシージャを使用するのですか?Entity Frameworkでストアドプロシージャを使用するかどうか

私は顧客の注文をしたいと考えています。したがって、2つのテーブルでジョインを使用するストアドプロシージャを使用して、たとえば返品注文IDを使用することで、1つのソリューションが実現します。

Linq-to-Entitiesクエリを使用することで、別の解決策が得られます。このソリューションは、最初のソリューションよりも優先されます。つまり、ユーザーのナビゲーション情報をユーザーの注文情報に簡単に移動できるようにします。ストアドプロシージャではIDを返すだけなので、注文情報にアクセスするのは少しです。

これは、2番目のソリューションの選択を考慮すると、より優れていますか?

+1

このような英語は理解しにくいです。 – kubal5003

+0

Entity Frameworkを使用している場合は、Linq-to-SQLではなく** Linq-to-Entities **を使用しています**。 –

答えて

3

両方のソリューションが機能します。また、「より良い」とは何を意味するのかを定義していないため、どのソリューションが「より良い」ものかはわかりません。

Entity Frameworkでストアドプロシージャを使用することは可能です。特にEF4を使用することは可能です。ストアドプロシージャにはメリットがあります。ユーザーに直接テーブルへのアクセスを与える必要はありません。DBAに格納されたprocsを最高のパフォーマンスに調整する可能性があります。Customerを削除するなどの作業を行うことができます。 CustomerID(顧客全体を最初に読み込んで削除する代わりに)を削除します。

ストアドプロシージャにはメリットがあります。多くの人々の欠点は、それらをT-SQLで記述する必要があり、アプリケーションの一部が突然C#コード内にあり、別の部分がストアドプロシージャのT- SQLコード。

もう一度:あなたが尋ねたように漠然としているように、これに対する本当の良い答えはありません。どちらの方法も有効で、両方とも機能します。これは、あなたが使いたい個人的な好みのビットです。

関連する問題