小编Cyn*_*ulf的帖子

从 LINQ ExecuteMethodCall 中提取 SQL“打印”消息

我以一种相当简单的方式通过 LINQ 调用存储过程:

    [Function(Name = "dbo.add_second_override")]
    public int AddSecondOverride(
        [Parameter(DbType = "numeric(10)")] decimal account_id,
        [Parameter(DbType = "numeric(10)")] decimal security_id,
        [Parameter(DbType = "varchar(255)")] string reason,
        [Parameter(DbType = "numeric(10)")] decimal? order_id,
        [Parameter(DbType = "numeric(10)")] decimal current_user)
    {
        IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), new object[] { account_id, security_id, reason, order_id, current_user });

        if ((int)result.ReturnValue != 0)
        {
            string errorDescription = Sysmessages.FirstOrDefault(x => x.Error == (int)result.ReturnValue).Description;
            throw new Exception(errorDescription);
        }

        return (int)result.ReturnValue;
    }
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果存储过程中有 SQL 打印语句,我如何提取此信息?例如

create procedure dbo.add_second_override
(   
    @account_id numeric(10), 
    @security_id numeric(10), …
Run Code Online (Sandbox Code Playgroud)

c# sql linq sql-server stored-procedures

4
推荐指数
1
解决办法
1493
查看次数

标签 统计

c# ×1

linq ×1

sql ×1

sql-server ×1

stored-procedures ×1