.NET3.5sp1でVB6アプリケーションの書き直しに着手しようとしています。VB6アプリは非常によく書かれており、データレイヤーは完全にストアドプロシージャに基づいています。Linq2SQL / Entity Framework / NHibernate/SubSonicのような自動化されたものを使用したいと思います。確かに、私は使い捨てプロジェクト以外でこれらのツールを使用したことはありません。
私がこれらすべての選択で抱えているかもしれない潜在的な問題はスピードです。たとえば、現在、単一の行(またはリスト全体)を取得するには、次のsprocを使用します。
ALTER PROCEDURE [dbo].[lst_Customers]
@intID INT = NULL
,@chvName VARCHAR(100) = NULL
AS
SELECT Customer_id, Name
FROM dbo.Customer
WHERE (@intID IS NULL OR @intID = Customer_id)
AND (@chvName IS NULL OR Name like ('%' + @chvName + '%'))
ORDER BY name
Linq2SQL / Entity Framework / NHibernate / SubSonicで単一の行を取得するには、これらのソリューションでリスト全体をクライアントに表示し、必要な行を見つける必要がありますか?
では、大規模なデータドメインを持つアプリケーションのデータアクセス戦略のコンセンサスは何でしょうか。