SqlServer and MySql

This commit is contained in:
owenchen committed 2026-08-26 10:15:02 +08:00
1 parent 42405492b6
commit 011e60afa9
53 files changed
+3419 -1238

No files matched your search

@@ -1,4 +1,5 @@
using CloudBuilder.Core.Application.Builders;
using DocumentFormat.OpenXml.Math;
using Microsoft.AspNetCore.Http;
using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore;
@@ -109,6 +110,23 @@ namespace CloudBuilder.Core.DatabaseAccessor.Entity
}
public void PackSqlParameter(List<object> parameters, string parameterName, object value)
{
var ProviderName = GetDbContext().Database.ProviderName;
if (ProviderName.Contains("MySql"))
{
PackMySqlParameter(parameters, parameterName, value);
}
else if (ProviderName.Contains("SqlServer"))
{
PackSqlServerParameter(parameters, parameterName, value);
}
else
{
throw new NotSupportedException($"不支持的数据库提供程序:{ProviderName}");
}
}
private void PackSqlServerParameter(List<object> parameters, string parameterName, object value)
{
if (parameters == null) parameters = new List<object>();
else
@@ -122,11 +140,11 @@ namespace CloudBuilder.Core.DatabaseAccessor.Entity
formatedValue = $"'{Convert.ToDateTime(formatedValue).ToString("yyyy-MM-dd HH:mm:ss")}'";
}
parameters.Add(new MySqlParameter(parameterName, value == null ? DBNull.Value : value));
parameters.Add(new SqlParameter(parameterName, value == null ? DBNull.Value : value));
}
}
public void PackMySqlParameter(List<object> parameters, string parameterName, object value)
private void PackMySqlParameter(List<object> parameters, string parameterName, object value)
{
if (parameters == null) parameters = new List<object>();
else
@@ -178,6 +196,22 @@ namespace CloudBuilder.Core.DatabaseAccessor.Entity
return cmd.ExecuteScalar();
}
public virtual DataTable SelectDataTable(string sql, params object[] parameters)
{
var ProviderName = GetDbContext().Database.ProviderName;
if (ProviderName.Contains("MySql"))
{
return SelectDataTableByMySql(sql, parameters);
}
else if (ProviderName.Contains("SqlServer"))
{
return SelectDataTableBySqlServer(sql, parameters);
}
else
{
throw new NotSupportedException($"不支持的数据库提供程序:{ProviderName}");
}
}
public virtual DataTable SelectDataTableByMySql(string sql, params object[] parameters)
{
@@ -201,7 +235,7 @@ namespace CloudBuilder.Core.DatabaseAccessor.Entity
}
public virtual DataTable SelectDataTableBySql(string sql, params object[] parameters)
public virtual DataTable SelectDataTableBySqlServer(string sql, params object[] parameters)
{
var conn = dbContext.Database.GetDbConnection(); ;