Я пытаюсь использовать Dapper для выполнения некоторых простых запросов в базу данных, которая доступна на моем локальном компьютере.
Большинство запросов работают нормально, но когда я пытаюсь вставить объект в соответствующую таблицу в базе данных, я получаю SqlException
.У меня есть аналогичный метод вставки, который сначала создает экземпляр объекта в теле метода и вставляет его в базу данных, и этот метод работает нормально.Но это не так.Более конкретно, это ответ от исключения:
System.Data.SqlClient.SqlException: 'Must declare the scalar variable "@VersionId".'
Вот код вызова, который генерирует исключение:
public int CreateNewSchema(Schema schema)
{
string sql = "INSERT INTO Schemas(VersionId, Created, Updated, SchemaData) " +
" values (@VersionId, @Created, @Updated, @SchemaData);";
var affectedRows = _connection.Execute(sql, new{schema});
return affectedRows;
}
Соответствующая таблица схемы в моей базе данных имеет следующий дизайн.
Schema
ID int
VersionID nvarchar(max)
Created datetime2(7)
Updated datetime2(7)
SchemaData nvarchar(max)
И, наконец, объект POCO, который я пытаюсь вставить в эту таблицу, определяется следующим образом:
public class Schema
{
public int ID { get; set; }
public string VersionId { get; set; }
public DateTime Created { get; set; }
public DateTime Updated { get; set; }
public string SchemaData { get; set; }
}