通俗解释 SqlSugarClient 配置 (SQL Server 版本)
这段代码是配置 SqlSugar ORM 来连接 SQL Server 数据库,我来用大白话解释:
1. 创建数据库连接(相当于配一把钥匙)
new SqlSugarClient(new ConnectionConfig() {
ConnectionString = "Server = .;DataBase = Demo;Uid = Demo;Pwd =9", // 钥匙的齿形
DbType = DbType.SqlServer, // 明确这是开SQL Server门的钥匙
IsAutoCloseConnection = true // 用完后自动拔钥匙
})
Server=.
:连接本地的SQL Server(那个点.
代表本机)DataBase=Demo
:要打开的数据库叫"Demo"Uid=Demo
:用"Demo"这个账号登录Pwd=9
:密码是"9"
2. 装个监控摄像头(AOP配置)
db.Aop.OnLogExecuting = (sql, pars) => {
Console.WriteLine(UtilMethods.GetNativeSql(sql, pars));
}
- 每次执行SQL语句时,自动记录日志(像摄像头拍下所有开门动作)
GetNativeSql
:显示SQL语句和参数(性能更好)- (注释掉的
GetSqlString
是完整SQL,但性能差)
3. 特别提醒
- 多租户情况下(类似一栋楼里多个公司),需要为每个租户单独配置
- 就像写字楼要有不同公司的门禁卡系统
简单说:这段代码就是配一把能自动关闭的SQL Server钥匙,并在每次使用钥匙时记录操作日志。
//创建数据库对象 (用法和EF Dappper一样通过new保证线程安全)
SqlSugarClient Db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = "Server = .;DataBase = Demo;Uid = Demo;Pwd =9",
DbType = DbType.SqlServer,
IsAutoCloseConnection = true
},
db => {
db.Aop.OnLogExecuting = (sql, pars) =>
{
//获取原生SQL推荐 5.1.4.63 性能OK
Console.WriteLine(UtilMethods.GetNativeSql(sql, pars));
//获取无参数化SQL 对性能有影响,特别大的SQL参数多的,调试使用
//Console.WriteLine(UtilMethods.GetSqlString(DbType.SqlServer,sql,pars))
};
//注意多租户 有几个设置几个
//db.GetConnection(i).Aop
});
.NET 操作 SqlServer
连接字符串
注意1:部分版本要加上 Encrypt=True;TrustServerCertificate=True;
//SqlSugar或者SqlSugarCore 1.1.4.68以下版本
server=.;uid=sa;pwd=haosql;database=SQLSUGAR4XTEST
//SqlSugarCore 5.1.4.169上以上版本
server=.;uid=sa;pwd=haosql;database=SQLSUGAR4XTEST;Encrypt=True;TrustServerCertificate=True;
如果ORM连接不上数据库:
请使用原生写法测试:new SqlConnection("字符串").Open(); 原生写法通过ORM就能用
new SqlConnection(db.CurrentConfig.ConnectionString).Open()//原生进行测试 是否是 SqlSUgar问题
.NET8配置注意
SqlServer 改一下启动项目的 csproj文件 ,设置为false
<InvariantGlobalization>false</InvariantGlobalization>
通俗解释 .NET 连接 SQL Server 的那些注意事项
1. 连接字符串的区别(就像不同版本的钥匙)
- 老版本钥匙(SqlSugar 1.1.4.68以下):
"server=.;uid=sa;pwd=haosql;database=SQLSUGAR4XTEST"
- 就像普通门锁钥匙,直接插进去就能用
- 新版本钥匙(SqlSugarCore 5.1.4.169以上):
"server=.;uid=sa;pwd=haosql;database=SQLSUGAR4XTEST;Encrypt=True;TrustServerCertificate=True;"
- 像智能门锁钥匙,需要额外验证身份(加密和信任证书)
2. 当钥匙不好用时(连接失败)
检查方法(先试试原始开门方式)
new SqlConnection("你的连接字符串").Open()
- 相当于不用智能钥匙,试试直接用最原始的钥匙开门
- 如果原始方式也打不开,说明是钥匙本身有问题,不是智能钥匙系统的问题
在SqlSugar中检查的方法
new SqlConnection(db.CurrentConfig.ConnectionString).Open()
- 相当于把智能钥匙拆开,用里面的原始钥匙试试
3. .NET 8 特别提醒(就像新房子要改装修)
在项目文件(.csproj)里