私たちの非常に大きなコード ベースには、次のパターンに従って、何百もの ExecuteMethodCall 呼び出しがあります。
[Function(Name = "dbo.storedproc")]
public ISingleResult<UserData> GetUserData(
[Parameter(Name = "UserId", DbType = "BigInt")] long? userId)
{
IExecuteResult result = ExecuteMethodCall(this, ((MethodInfo)(MethodBase.GetCurrentMethod())), userId);
return ((ISingleResult<UserData>)(result.ReturnValue));
}
ただし、これは大きなパフォーマンスの問題を引き起こすことが判明しました (Linq To SQL のよく知られた問題)。したがって、このコードの少なくとも一部を Compiled Linq To Sql に変換することを検討しています。
Compiled Linq To Sql の例を見つけましたが、どれも ExecuteMethodCall を含んでいません。代わりに、それらはすべて Linq クエリをコンパイルします (from ... where ... select)。
Compiled Linq To SQL に変換された上記のコード (ExecuteMethodCall を使用) の例を教えていただければ幸いです。