c# - Entity Framework ExecuteSqlCommand Missing Input Parameter -
i'm having issue executesqlcommand() method in entity framework (ef). have following sql server stored procedure:
exec someschema.sometableinsert @id = 1, @somedata = 'this random data', @userid = 500 and works without issues. when try use ef's executesqlcommand() method, following error:
procedure or function 'sometableinsert' expects parameter '@userid', not supplied. here c# code:
var sql = "someschema.sometableinsert @id, @somedata, @userid"; var sqlparameters = new list<sqlparameter> { new sqlparameter("@id", 1), new sqlparameter("@somedata", "this random data"), new sqlparameter("@userid", 500) }; dbcontext.database.executesqlcommand(sql, sqlparameters.toarray<object>()); i don't understand why i'm getting error. userid parameter not missing , has valid value. ideas?
update:
here sql run on sql server:
exec sp_executesql n'someschema.sometableinsert @id, @somedata, @userid', n'@id int,@somedata nvarchar(5),@userid int', @id=1, @somedata='this random data', @userid=500
var sql = "someschema.sometableinsert @id, @somedata, @userid"; var sqlparameters = new list<sqlparameter> { new sqlparameter("id", 1), new sqlparameter("somedata", "this random data"), new sqlparameter("userid", 500) }; dbcontext.database.executesqlcommand(sql, sqlparameters.toarray<object>()); remove @ prefix within sqlparameter.
Comments
Post a Comment