# 首先连接 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"); |