I want call stored procedure to insert some value to database using netcore entity framework 5 , the stored procedure work perfectly in pgadmin

Viewed 41

these the values that i want to pass i try a lot but nothing work

 [HttpPost]
                public async Task< IActionResult> Adduser(string fname , string lname , string pass , string uname , string actname , int cnumber , string cname , string depname  )
                {
        
                     var result =await _context.Database.ExecuteSqlRawAsync($"call transfer @fname,@lname, @pass,@uname,@actname,@cnumber,@cname,@depname {fname},{lname},{pass},{uname},{actname},{cnumber},{cname},{depname} " );
                      await _unitOfWork.CompleteAsync();
                    return Ok();
                }
1 Answers

Try

$"exec transfer @fname ='{fname.Replace("'", "''")}',@lname ='{lname.Replace("'", "''")}', @pass ='{pass.Replace("'", "''")}',@uname ='{uname.Replace("'", "''")}',@actname ='{actname.Replace("'", "''")}',@cnumber ={cnumber},@cname ='{cname.Replace("'", "''")}',@depname ='{depname.Replace("'", "''")}'"

The "replace" calls are intended to prevent SQL Injection. I assumed everything was a string on the SQL side, but quoting shouldn't hurt in most cases if they aren't.

Related