Search code examples
asp.net-mvcdapper

How to Pass Raw query from controller to model


I want to pass raw query from Controller to Model. I wrote ConnectionString in model and also How can write ExecuteWithReturn and ExecuteWithOutReturn function in model

This is my Sample Code:

Controller:

public ActionResult  RawQuery(int? EmployeeID)
{
     if (EmployeeID == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     else
     {
         string query = "SELECT * FROM Employee WHERE EmployeeID =@EmployeeID";
         DapperORM.ExecutewithReturn(query);
        return RedirectToAction("Index");
     }
}

Model:

    public static class DapperORM
{

     public static void ExecuteWithOutReturn(string sql)
      {
     using (SqlConnection con = new SqlConnection(connectionstring))
     {
        //which code can I write here to execute row query without  return  
     }
 }

 public static void ExecuteWithReturn(string sql)
 {
      using (SqlConnection con = new SqlConnection(connectionstring))
      {
          //which code can I write here to execute row query with  return
      }
 }

}


Solution

  • Example Code :

    public static void ExecuteWithoutReturn(string sql) {
          using (SqlConnection connection = new SqlConnection(connectionString)) {
              //which code can I write here to execute row query with out return
              connection.Execute(sql, commandType : CommandType.Text); 
          }
     }
    
    //Generic method to fetch List 
    public static IEnumerable<T> ExecuteWithReturn<T>(string sql) //pass return type of list
    {
          using (SqlConnection connection = new SqlConnection(connectionString)) {
               return connection.Query<T>(sql).ToList();
         }
    }