Remove dependency of Oqtane.Server on SqlClient
This commit is contained in:
		| @ -1,10 +1,9 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Data; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Migrations.Operations; | ||||
| using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders; | ||||
| using MySql.Data.MySqlClient; | ||||
| using MySql.EntityFrameworkCore.Metadata; | ||||
| using Oqtane.Models; | ||||
| using Oqtane.Shared; | ||||
|  | ||||
| namespace Oqtane.Database.MySQL | ||||
| @ -41,10 +40,52 @@ namespace Oqtane.Database.MySQL | ||||
|             return returnValue; | ||||
|         } | ||||
|  | ||||
|         public override int ExecuteNonQuery(string connectionString, string query) | ||||
|         { | ||||
|             var conn = new MySqlConnection(connectionString); | ||||
|             var cmd = conn.CreateCommand(); | ||||
|             using (conn) | ||||
|             { | ||||
|                 PrepareCommand(conn, cmd, query); | ||||
|                 var val = -1; | ||||
|                 try | ||||
|                 { | ||||
|                     val = cmd.ExecuteNonQuery(); | ||||
|                 } | ||||
|                 catch | ||||
|                 { | ||||
|                     // an error occurred executing the query | ||||
|                 } | ||||
|                 return val; | ||||
|             } | ||||
|  | ||||
|         } | ||||
|  | ||||
|         public override IDataReader ExecuteReader(string connectionString, string query) | ||||
|         { | ||||
|             var conn = new MySqlConnection(connectionString); | ||||
|             var cmd = conn.CreateCommand(); | ||||
|             PrepareCommand(conn, cmd, query); | ||||
|             var dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); | ||||
|             return dr; | ||||
|         } | ||||
|  | ||||
|  | ||||
|         public override DbContextOptionsBuilder UseDatabase(DbContextOptionsBuilder optionsBuilder, string connectionString) | ||||
|         { | ||||
|             return optionsBuilder.UseMySQL(connectionString); | ||||
|         } | ||||
|  | ||||
|         private void PrepareCommand(MySqlConnection conn, MySqlCommand cmd, string query) | ||||
|         { | ||||
|             if (conn.State != ConnectionState.Open) | ||||
|             { | ||||
|                 conn.Open(); | ||||
|             } | ||||
|  | ||||
|             cmd.Connection = conn; | ||||
|             cmd.CommandText = query; | ||||
|             cmd.CommandType = CommandType.Text; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Charles Nurse
					Charles Nurse