5

我们非常大的代码库有数百次对 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 的示例,我将不胜感激。

4

1 回答 1

0

select * from user where userid = userId (方法的参数) ,

SP: exec GetUserData @userId = userId

于 2015-10-12T15:29:52.640 回答