相关疑难解决方法(0)

Dapper是否支持SQL 2008表值参数?

有谁知道是否可以使用Dapper 将表值参数数据传递给存储过程?

.net dapper

75
推荐指数
4
解决办法
2万
查看次数

现在有办法将TVP传递给.Net Core上的精致吗?

我正在使用.net核心和dapper,第一个没有DataTables,第二个使用它们用于TVP.

我试图将a转换List<T>为a List<SqlDataRecord>,使用此列表创建一个SqlParameter然后将其转换为DynamicParameter但遗憾的是我得到了:The member of type Microsoft.SqlServer.Server.SqlDataRecord cannot be used as a parameter value

UPDATE

玩了一下之后IDynamicParameters,我就开始了.

扩展方法 IEnumerable

public static DynamicWrapper toTVP<T>(this IEnumerable<T> enumerable, string tableName, string typeName)
{
    List<SqlDataRecord> records = new List<SqlDataRecord>();
    var properties = typeof(T).GetProperties().Where(p => Mapper.TypeToSQLMap.ContainsKey(p.PropertyType));
    var definitions = properties.Select(p => Mapper.TypeToMetaData(p.Name, p.PropertyType)).ToArray();
    foreach (var item in enumerable)
    {
        var values = properties.Select(p => p.GetValue(item, null)).ToArray();
        var schema = new SqlDataRecord(definitions);
        schema.SetValues(values);
        records.Add(schema);
    }

    SqlParameter result = new SqlParameter(tableName, SqlDbType.Structured); …
Run Code Online (Sandbox Code Playgroud)

c# sql reflection dapper .net-core

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

asp.net核心中的数据表类

如果您曾尝试在asp.net核心中使用SQLClient,您可能已经注意到缺少DataTables和DataSets,用于数据库I/O的表结构.

对于输出数据,我们可以选择SqlDataReader.但是对于输入数据,我还没有找到解决这个问题的方法 - 例如,如果你想通过框架461中的参数将表传递给SP,我们使用'SqlDbType = SqlDbType.Structured和DataTable class'.任何人的想法?

我使用的库:https://github.com/XML-Travelgate/xtg-data-sqlclient

c# sql-server datatable asp.net-core

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

标签 统计

c# ×2

dapper ×2

.net ×1

.net-core ×1

asp.net-core ×1

datatable ×1

reflection ×1

sql ×1

sql-server ×1