繁体   English   中英

用Dapper执行插入语句

[英]Executing Insert Statement with Dapper

我正在尝试使用@MarcGravell在下面的帖子和评论中解释的方法

如何使用Dapper.NET将C#列表插入数据库

我试图从

        string sql2 = string.Format(@"INSERT INTO #cusipSedolList (cusipSedol) values (@A)");

        IDbConnection con = new SqlConnection(_connectionString);

        using (con)
        {
            con.Open();
            foreach (var cusipSedol in cusipSedolsParameter)
            {
                con.Execute(sql2, new { A = cusipSedol.CusipSedol });
            }

        }

        string sql2 = string.Format(@"INSERT INTO #cusipSedolList (cusipSedol) values (@CusipSedol)");

        IDbConnection con = new SqlConnection(_connectionString);

        using (con)
        {
            con.Open();
            con.Execute(sql2, new {cusipSedolsParameter});

        }

       var cusipSedolsParameter = new List<CusipSedols>();

       public class CusipSedols
       {
           public string CusipSedol { get; set; }
       }

但是我收到一个错误,如果它有多个CusipSedol,我必须声明@CusipSedol。

在第二个示例中,您传递参数new {cusipSedolsParameter} ,它是一个匿名类型对象,具有一个名为cusipSedolsParameter的单个成员。

相反,您只想传递列表。 您的通话应如下所示:

con.Execute(sql2, cusipSedolsParameter);

然后,Dapper将枚举您的列表,并对每个条目执行查询,将查询参数与条目类型的属性进行匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM