我们非常庞大的代码库对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查询(来自...... where ... select)。
如果有人能给我一个上述代码(使用ExecuteMethodCall)转换为Compiled Linq To SQL的示例,我将不胜感激。
答案 0 :(得分:0)
从user中选择* userid = userId(方法的参数),
SP:exec GetUserData @userId = userId