Следующий запрос SubSonic3 выдает ошибку:
Db.Update<Tag>()
.SetExpression("Popularity")
.EqualTo("Popularity+1")
.Where<Tag>(x => x.TagId == tagId)
.Execute();
Ошибка: ошибка: System.FormatException: не удалось преобразовать значение параметра из строки в Int32.
Созданный sql - это нормально, но набор параметров содержит два параметра, которые необходимо установить.
UPDATE [Tagging].[Tag]
SET Popularity=Popularity+1
WHERE [Tagging].[Tag].[TagId] = @0
Один из параметров устанавливает @up_Popularity на «Популярность + 1». Поскольку это первый устанавливаемый параметр, sql попытайтесь присвоить этой строке 'Популярность + 1' целое число.
Это ошибка или я что-то не так делаю?