相关疑难解决方法(0)

使用Dapper.TVP TableValueParameter和其他参数

我有一个过程,它接受一个表值参数,以及其他:

CREATE PROCEDURE [dbo].[Update_Records]
    @currentYear INT,
    @country INT,
    @records Record_Table_Type READONLY
AS
Run Code Online (Sandbox Code Playgroud)

我试图用Dapper.TVP来称呼它.

这是我到目前为止的代码:

        var recordsParameter = new List<SqlDataRecord>();

        // This metadata matches 'Record_Table_Type' in the Database
        var recordsMetaData = new[]
        {
            new SqlMetaData("OriginalValue", SqlDbType.Decimal, 19, 4),
            new SqlMetaData("NewValue", SqlDbType.Decimal, 19, 4),
            new SqlMetaData("NewPercent", SqlDbType.Decimal, 7, 2),
        };

        foreach (var r in records)
        {
            var record = new SqlDataRecord(recordsMetaData);
            record.SetDecimal(0, r.OriginalValue);
            record.SetDecimal(1, r.NewValue);
            record.SetDecimal(2, r.NewPercent);
            recordsParameter.Add(record);
        }

        var spParams = new DynamicParameters(new
        {
            currentYear = filter.currentYear,
            country = filter.country,
        }); …
Run Code Online (Sandbox Code Playgroud)

sql-server dapper

17
推荐指数
2
解决办法
1万
查看次数

标签 统计

dapper ×1

sql-server ×1