如何使用3参数2参数正常值下的dapper和一个参数都是使用存储过程的表参数 [英] How to use dapper under 3 parameter 2 parameter normal value and one parameter is table parameter both of using stored procedure

查看:126
本文介绍了如何使用3参数2参数正常值下的dapper和一个参数都是使用存储过程的表参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 public IEnumerable< MemberDetails> GetallMemberlist(int pageIndex,int pageSize)
{
string Location =6,3;
string [] loc = Location.Split(',');
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn [1] {new DataColumn(CategoryID,typeof(int))});

foreach(字符串在loc中)
{
dt.Rows.Add(s);
}
var para = new DynamicParameters();
para.Add(@ PageIndex,pageIndex);
para.Add(@ StateIdTable,dt);
para.Add(@ PageSize,pageSize);
var employees = con.Query< MemberDetails>(GetCustomersPageWise,para,commandType:CommandType.StoredProcedure);

退还员工;
}





且显示错误

 System.NotSupportedException:'System.Data.DataTable类型的成员StateIdTable不能用作参数值'



plz help



我尝试了什么:



如何在3参数下使用dapper 2参数正常值和一个参数是使用存储过程的表参数

解决方案

尝试:

 para.Add(@ StateIdTable,dt.AsTableValuedParameter()); 



使用Dapper传递表值参数 [ ^ ]

表V的动态参数参数·问题#364·StackExchange / Dapper·GitHub [ ^ ]


public IEnumerable<MemberDetails> GetallMemberlist(int pageIndex, int pageSize)
        {
            string Location = "6,3";
            string[] loc = Location.Split(',');
            DataTable dt = new DataTable();
            dt.Columns.AddRange(new DataColumn[1] { new DataColumn("CategoryID", typeof(int)) });
           
            foreach (string s in loc)
            {
                dt.Rows.Add(s);
            }
            var para = new DynamicParameters();
            para.Add("@PageIndex", pageIndex);
             para.Add("@StateIdTable", dt);
            para.Add("@PageSize", pageSize); 
            var employees = con.Query<MemberDetails>("GetCustomersPageWise", para,commandType: CommandType.StoredProcedure);
        
            return employees;
        }



and error is showing

System.NotSupportedException: 'The member StateIdTable of type System.Data.DataTable cannot be used as a parameter value'


plz help

What I have tried:

how to use dapper under 3 parameter 2 parameter normal value and one parameter  is table parameter both of using stored procedure

解决方案

Try:

para.Add("@StateIdTable", dt.AsTableValuedParameter());


Passing Table Valued Parameters with Dapper[^]
Dynamic Parameters with Table Valued Parameters · Issue #364 · StackExchange/Dapper · GitHub[^]


这篇关于如何使用3参数2参数正常值下的dapper和一个参数都是使用存储过程的表参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆