src/Czar.Cms.Core/DbHelper/ConnectionFactory.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Czar.Cms.Core.Models;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using Czar.Cms.Core.Extensions;
using System.Data.SqlClient;
using MySql.Data.MySqlClient;
using Npgsql;
namespace Czar.Cms.Core.DbHelper
{
/// <summary>
/// yilezhu
/// 2018.12.13
/// 数据库连接工厂类
/// </summary>
public class ConnectionFactory
{
/// <summary>
/// 获取数据库连接
/// </summary>
/// <param name="dbtype">数据库类型</param>
/// <param name="conStr">数据库连接字符串</param>
/// <returns>数据库连接</returns>
public static IDbConnection CreateConnection(string dbtype, string strConn)
{
if (dbtype.IsNullOrWhiteSpace())
throw new ArgumentNullException("获取数据库连接居然不传数据库类型,你想上天吗?");
if (strConn.IsNullOrWhiteSpace())
throw new ArgumentNullException("获取数据库连接居然不传数据库类型,你想上天吗?");
var dbType = GetDataBaseType(dbtype);
return CreateConnection(dbType,strConn);
}
/// <summary>
/// 获取数据库连接
/// </summary>
/// <param name="dbType">数据库类型</param>
/// <param name="conStr">数据库连接字符串</param>
/// <returns>数据库连接</returns>
public static IDbConnection CreateConnection(DatabaseType dbType, string strConn)
{
IDbConnection connection = null;
if (strConn.IsNullOrWhiteSpace())
throw new ArgumentNullException("获取数据库连接居然不传数据库类型,你想上天吗?");
switch (dbType)
{
case DatabaseType.SqlServer:
connection = new SqlConnection(strConn);
break;
case DatabaseType.MySQL:
connection = new MySqlConnection(strConn);
break;
case DatabaseType.PostgreSQL:
connection = new NpgsqlConnection(strConn);
break;
default:
throw new ArgumentNullException($"这是我的错,还不支持的{dbType.ToString()}数据库类型");
后面还有 33 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
