public T ExecuteQuerySingle(string spQuery, object[] parameters)
 {
     using (_connection = new DBContextMessage <T>())
     {
         return(_connection.Database.SqlQuery <T>(spQuery, parameters).FirstOrDefault());
     }
 }
 public IEnumerable <T> ExecuteQuery(string spQuery, object[] parameters)
 {
     using (_connection = new DBContextMessage <T>())
     {
         using (var dbContextTransaction = _connection.Database.BeginTransaction())
         {
             try
             {
                 dbContextTransaction.Commit();
             }
             catch (Exception)
             {
                 dbContextTransaction.Rollback();
             }
         }
         return(_connection.Database.SqlQuery <T>(spQuery, parameters).ToList());
     }
 }
        public int ExecuteSQLCommand(string spQuery, object[] parameters)
        {
            int result = 0;

            using (_connection = new DBContextMessage <T>())
            {
                using (var dbContextTransaction = _connection.Database.BeginTransaction())
                {
                    try
                    {
                        result = _connection.Database.ExecuteSqlCommand(spQuery, parameters);
                        dbContextTransaction.Commit();
                    }
                    catch (Exception)
                    {
                        dbContextTransaction.Rollback();
                    }
                }
            }

            return(result);
        }