NET Core 6 .0 配置 SqlSugar

选中项目NuGet包管理安装SqlSugarCore 

 安装好后>在配置文件中创建数据库连接字符串(此处SqlServer数据库字符串格式:server=服务器;uid=数据库登录账号;pwd=数据库登录密码;database=数据库名)>再创建一个SqlSugar扩展静态类SqlsugarSetup

 

 

  /// <summary>
    /// 静态SqlSugar扩展类
    /// </summary>
    public static class SqlsugarSetup
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="service">服务</param>
        /// <param name="configuration">配置文件</param>
        public static void AppSqlsugarSetup(this IServiceCollection service, IConfiguration configuration)
        {
            SqlSugarScope sqlSugar = new SqlSugarScope(
                new ConnectionConfig()
                {
                    DbType = SqlSugar.DbType.SqlServer,//数据库类型
                    ConnectionString = configuration["DbDataSource"],//配置文件中的数据库链接key值
                    IsAutoCloseConnection = true,//是否自动关闭连接
                },
                db => {
                
                    //单例参数配置,所有上下文生效
                    db.Aop.OnLogExecuting = (sql, pars) =>
                    {
                        //Console.WriteLine(sql);//输出sql
                    };
                    //技巧:拿到非ORM注入对象
                    //services.GetService<注入对象>();
                }
            );
            service.AddSingleton<ISqlSugarClient>(sqlSugar);//这边是SqlSugarScope用AddSingleton
        } 
    }

在Program类中/引用using Net.Extension将sqlSugar服务添加到容器中

builder.Services.AppSqlsugarSetup(builder.Configuration);

 创建一个测试类(测试类的属性名要和数据库的一致)

 创建一个api控制器(空)

提示:我这里构造方法写成这样方便一点

public AdminTestController(ISqlSugarClient db) => (Db) = db;

你们也可写成:public AdminTestController(ISqlSugarClient db) {

Db=db;

}

 

 

 完结

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在.NET Core Web Api中配置SQLSugar连接池,您可以按照以下步骤进行操作: 1. 在您的.NET Core Web Api项目中安装SQLSugar和MySql.Data包。 2. 在appsettings.json文件中添加MySQL数据库连接字符串,如下所示: ```json { "ConnectionStrings": { "DefaultConnection": "server=localhost;database=your_database;user=root;password=your_password;pooling=true;" } } ``` 3. 创建一个名为SugarDao.cs的文件,并在其中添加以下代码: ```csharp using Microsoft.Extensions.Configuration; using MySql.Data.MySqlClient; using SqlSugar; using System; namespace YourNamespace { public class SugarDao { private readonly IConfiguration _configuration; private readonly MySqlConnection _connection; public SugarDao(IConfiguration configuration) { _configuration = configuration; var connectionString = _configuration.GetConnectionString("DefaultConnection"); _connection = new MySqlConnection(connectionString); } public SqlSugarClient GetInstance() { var db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = _configuration.GetConnectionString("DefaultConnection"), DbType = DbType.MySql, IsAutoCloseConnection = true, InitKeyType = InitKeyType.Attribute, ConfigureExternalServices = new ConfigureExternalServices() { DataInfoCacheService = new HttpRuntimeCache() }, MoreSettings = new ConnMoreSettings() { IsAutoRemoveDataCache = true }, AopEvents = new AopEvents { OnLogExecuting = (sql, pars) => { Console.WriteLine(sql + "\r\n" + _connection.CreateCommand().AppendParameters(pars).CommandText); Console.WriteLine(); } } }); db.Ado.ExecuteCommand("SET NAMES utf8mb4;"); return db; } } } ``` 4. 在Startup.cs文件中的ConfigureServices方法中添加以下代码: ```csharp services.AddSingleton<SugarDao>(); services.AddScoped<ISqlSugarClient>(i => i.GetService<SugarDao>().GetInstance()); ``` 5. 现在您可以在您的控制器中注入ISqlSugarClient,如下所示: ```csharp using Microsoft.AspNetCore.Mvc; using SqlSugar; namespace YourNamespace.Controllers { [ApiController] [Route("[controller]")] public class YourController : ControllerBase { private readonly ISqlSugarClient _db; public YourController(ISqlSugarClient db) { _db = db; } [HttpGet] public IActionResult Get() { var data = _db.Queryable<YourModel>().ToList(); return Ok(data); } } } ``` 这样,您就完成了在.NET Core Web Api中配置SQLSugar连接池的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值