? C#亚博足球娱乐场注册--任意三数字加yabo.com直达官网之Dapper use Table Value Parameter in C# (Sql Server 亚博足球娱乐场注册,亚博娱乐全天彩,亚博官网赢钱不给
VB.net 2010 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网 VB.net 2010 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网 VB.net 2010 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网
SQL Server 2008 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网 c#入门经典亚博足球娱乐场注册--任意三数字加yabo.com直达官网 Visual Basic从门到精通视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网
当前位置:
首页 > 编程开发 > C#编程 >
  • C#亚博足球娱乐场注册--任意三数字加yabo.com直达官网之Dapper use Table Value Parameter in C# (Sql Server

  • 2019-09-08 15:30 来源:未知

Dapper 也可以使用 数组参数

参考:Blog on Github

Dapper 调用存储过程 :单个参数
  static void Main(string[] args)
        {
            var connection = new SqlConnection("Data Source=.;Initial Catalog=Datamip;Integrated Security=True;MultipleActiveResultSets=True");

            var info = connection.Query("sp_GetUsers", new { id = 5 },
                                   commandType: CommandType.StoredProcedure);
        }
Dapper 调用存储过程 :数组参数

需要使用 Sql Server 的自定义类型 :?dbo.IDList

CREATE TYPE dbo.IDList
AS TABLE
(
  ID INT
);
GO
c# code
  public static List QueryWithTVP()
        {
            int[] idList = new int[] { 1, 2 };
            var results = new List();
            try
            {
                var typeIdsParameter = new List();
                // TypeID  数组参数对应的字段
                var myMetaData = new SqlMetaData[] { new SqlMetaData("TypeID", SqlDbType.Int) };
                foreach (var num in idList)
                {
                    // Create a new record, i.e. row.
                    var record = new SqlDataRecord(myMetaData);
                    // Set the 1st colunm, i.e., position 0 with the correcponding value:
                    record.SetInt32(0, num);
                    // Add the new row to the table rows array:
                    typeIdsParameter.Add(record);
                }
                using (IDbConnection conn = new SqlConnection(DBConfig.ConnectionString))
                {
                    conn.Open();
                   //调用存储过程,IDList: 自定义类型
                    results =  conn.Query("dbo.GetWorkLog_ByTypeIds",
                                        new TableValueParameter("@TypeIds", "IDList", typeIdsParameter)
                                        , commandType: CommandType.StoredProcedure).ToList();
                }
            }
            catch (Exception)
            {

                throw;
            }

            return results;
        }
相关亚博足球娱乐场注册--任意三数字加yabo.com直达官网