使用 Dapper 执行插入语句
Executing Insert Statement with Dapper
我正在尝试使用@MarcGravell 在下面post 和评论
中解释的方法
How to insert a C# List to database using Dapper.NET
我正在尝试从
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 将枚举您的列表并对每个条目执行查询,将查询参数与条目类型的属性进行匹配。
我正在尝试使用@MarcGravell 在下面post 和评论
中解释的方法How to insert a C# List to database using Dapper.NET
我正在尝试从
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 将枚举您的列表并对每个条目执行查询,将查询参数与条目类型的属性进行匹配。