I am trying to update a row using Dapper but I am having error on specifying parameters in my update statement
An exception of type 'System.InvalidOperationException' occurred in IBM.Data.DB2.iSeries.dll but was not handled in user code
Additional information: Not enough parameters specified. The command
requires 3 parameter(s), but only 0 parameter(s) exist in the
parameter collection.
Repository.cs
public void Update(Movie movie)
{
var sql = "UPDATE myDB.movies set title=?, genre=? where Id=?";
db.Execute(sql, new
{ movie.Title,
movie.Genre,
movie.ID
});
}
Movie.cs
public class Movie
{
public int ID { get; set; }
[Required]
public string Title { get; set; }
[Required]
[Display(Name="Release Date")]
[DisplayFormat(DataFormatString="{0:dd/MM/yyyy}", ApplyFormatInEditMode=true)]
public DateTime ReleaseDate { get; set; }
[Required]
public string Genre { get; set; }
public decimal Price { get; set; }
}
I am using iDB2Connection
to access an IBM ISeries Database.
Just try like this in your
Repository.cs
fileWorkaround 1
What I did was to name parameters such that their order stays the same regardless of Dapper's alphabetical ordering.
If someone knows a better solution. please post in this thread.