Я установил пакет SqlHelper.DB NuGet (https://www.nuget.org/packages/SQLHelper.DB/), и у меня возникают проблемы при передаче параметров в метод AddQuery. Я передаю список SqlParameter своей функции и получаю сообщение об ошибке: «Не удалось преобразовать параметрзначение из List`1 в Int32. '
Вот код для вызова моего метода:
SqlProcessor sqlproc = new SqlProcessor("Data Source = myserver; Initial Catalog = mydb; User ID = me; Password = $uper$ecret;");
List<SqlParameter> p = new List<SqlParameter>
{
new SqlParameter("@MyParam1", "param1"),
new SqlParameter("@MyParam2", "param2"),
};
List<dynamic> l = sqlproc.ExecuteNonQuery(new Models.SqlCommandHelper("dbo.spGoGadgetGo", p));
Вот метод:
public List<dynamic> ExecuteNonQuery(SqlCommandHelper sch)
{
var results = SQLHelper.CreateBatch()
.AddQuery(sch.CommandType, sch.StoredProcedureName, sch.StoredProcedureParameters)
.Execute();
return results[0];
}
SqlCommandHelperэто небольшой класс, который я написал:
class SqlCommandHelper
{
public SqlCommandHelper(string spName, List<SqlParameter> parameters)
{
StoredProcedureName = spName;
StoredProcedureParameters = parameters;
CommandType = CommandType.StoredProcedure;
}
public SqlCommandHelper(string queryString)
{
QueryString = queryString;
CommandType = CommandType.Text;
}
public CommandType CommandType { get; set; }
public string StoredProcedureName { get; set; }
public string QueryString { get; set; }
public List<SqlParameter> StoredProcedureParameters { get; set; }
}
Любая помощь с благодарностью!