c# – 将列表作为Sql表类型参数传递
作者:互联网
我正在尝试将我的班级列表作为DbParameter传递.可能在我的存储过程中定义了表类型.
现在,我没有得到如何传递List<>因为已定义的表类型只接受表,所以进入存储过程.
在这里,我正在采用我的方法.
public static AddCustomer(List<Customer> customer)
{
List<DbParameter> lstDbParameters = null;
try
{
#region Set the Parameters
lstDbParameters = new List<DbParameter>();
SqlParameter dbAcceptedBillDetails = new SqlParameter("@Customers",
customer);
dbAcceptedBillDetails.SqlDbType = SqlDbType.Structured;
lstDbParameters.Add(dbAcceptedBillDetails as DbParameter);
lstDbParameters.Add(CDDAC.MakeDbParameter(dbProvider,
"@ErrorMessage",
DbType.String,
null,
500,
ParameterDirection.Output));
#endregion
//Call the static ExecuteNonQuery method.
CDDAC.ExecuteNonQuery(dbProvider,
connectionString,
"AddCustomer",
CommandType.StoredProcedure,
lstDbParameters.ToArray());
}
catch (Exception ex)
{
throw;
}
}
我收到这样的错误:
Failed to convert parameter value from a List
1 to a IEnumerable
1.
我知道我可以将此列表转换为DataTable,然后在存储过程中传递它,但这似乎很耗时.
标签:c,sql-server-2012,wpf,generic-list 来源: https://codeday.me/bug/20190612/1225355.html