# 首先连接 SQL Server 只需要安装 SqlSugarCore 包就可以了

# 数据库上下文类

/// <summary>
/// 数据库上下文类
/// </summary>
public static class SqlSugarContext
{
    /// <summary>
    /// 获取连接实例
    /// </summary>
    /// <param name="services"></param>
    /// <param name="configuration"></param>
    /// <param name="dbName"></param>
    /// <returns></returns>
    public static void AddSqlsugarSetup(this IServiceCollection services, IConfiguration configuration, string dbName)
    {
        SqlSugarScope sqlSugar = new SqlSugarScope(new ConnectionConfig()
        {
            ConnectionString = configuration.GetConnectionString(dbName),
            DbType = DbType.MySql,// 切换数据库类型
            IsAutoCloseConnection = true,// 自动释放和关闭数据库连接,如果有事务则结束时关闭,否则每次操作后关闭(false 需要手动释放)
            InitKeyType = InitKeyType.Attribute// 从实体特性中读取主键自增列信息
        });
        services.AddSingleton<ISqlSugarClient>(sqlSugar);// 这边是 SqlSugarScope 用 AddSingleton
    }
}

# 连接字符串配置

"ConnectionStrings": {
    // 本地 MySQL
    "MySQLConnection": "server=127.0.0.1;uid=用户名;pwd=密码;port=3306;database=数据库名称;SslMode=None",
    // 本地 SQL Server
    "SQLServerConnection": "Data Source=.;Initial Catalog=数据库名称;uid=用户名;pwd=密码;Pooling=true;"
  }

# Program 赋值连接字符串

// SqlSugar 注入
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSqlsugarSetup(builder.Configuration, "SQLServerConnection");

# 这样就可以直接使用了

private readonly ISqlSugarClient _dbContext;
public HomeDataService(ISqlSugarClient dbContext)
{
    _dbContext = dbContext;
}
// 如果不存在创建数据库存在不会重复创建
// 注意 :Oracle 和个别国产库需不支持该方法,需要手动建库
_dbContext.DbMaintenance.CreateDatabase();
// 创建表根据实体类 CodeFirstTable
// 这样一个表就能成功创建了
_dbContext.CodeFirst.InitTables(typeof(MenuInfo));

# MySQL 则需要多安装一个 nuget 包:MySql.Data

# 修改连接字符串为 MySQL 连接

builder.Services.AddSqlsugarSetup(builder.Configuration, "MySQLConnection");

# 修改上下文类 SqlSugarContext 中的 DbType 为 Mysql 即可切换数据库

更新于 阅读次数

请我喝茶~( ̄▽ ̄)~*

Tianci 微信支付

微信支付

Tianci 支付宝

支付宝