.Net如何集成efcore,并使用连接池

本文介绍了如何在.Net项目中集成EFCore,并使用连接池进行数据库操作。首先通过NuGet安装Microsoft.EntityFrameworkCore.SqlServer,接着在服务集中注入DbContextFactory池,设置连接字符串和池大小。然后创建数据库表,定义DbContext,生成数据库表。最后实现用户信息的增删查改接口,利用Swagger进行API测试。
摘要由CSDN通过智能技术生成
  EF Core 5.0引入了AddDbContextFactory 和AddPooledDbContextFactory 来注册工厂,以便在
  应用程序的依赖项注入 (D.I.) 容器中创建 DbContext 实例;当应用程序代码需要手动创建和处理上下文实例时,
  这很有用的。
  DbContextFactory才用的是单例注入(DbContext对象存于是队列中,实现接口IDisposable,在对象Dispose时,
  将对象放到连接池的队列中,当使用时,在拿出来,因此在使用,
  要做到急用急释放)

1、程序包管理器控制台输入Install-Package Microsoft.EntityFrameworkCore.SqlServer 或者在NuGget包输入EntityFrameworkCore.SqlServer,然后点击安装
在这里插入图片描述
2、在服务集中注入DbContextFactory池
代码:services.AddPooledDbContextFactory(b =>
b.UseSqlServer(@“代表连接Sqlserver的字符串”), poolSize:8); 第一个参数连接Sqlserver的字符串,第二个参数代码连接池的大小。
在这里插入图片描述
3、建表(UserInfo)


      public class UserInfoEntity
      {
   
         [Key]
         public int Id {
    get; set; }

         public string name {
    get; set; }
       }

4、添加TestDbContext


    
要配置SQLSugar连接池连接数据库,可以按照以下步骤操作: 1. 在.NET Core Web Api项目中安装SQLSugar NuGet包。 2. 在appsettings.json文件中添加数据库连接字符串,例如: ``` "ConnectionStrings": { "DefaultConnection": "Server=localhost;Database=mydatabase;User Id=myuser;Password=mypassword;" } ``` 3. 在Startup.cs文件中添加SQLSugar连接池服务配置: ```csharp using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using SqlSugar; public class Startup { private readonly IConfiguration _config; public Startup(IConfiguration config) { _config = config; } public void ConfigureServices(IServiceCollection services) { // 配置SQLSugar连接池 services.AddScoped<ISqlSugarClient>(provider => { var connectionString = _config.GetConnectionString("DefaultConnection"); var db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = connectionString, DbType = DbType.MySql, // 数据库类型 IsAutoCloseConnection = true, // 自动释放连接 InitKeyType = InitKeyType.Attribute // 实体定义方式 }); return db; }); // 其他服务配置... } } ``` 4. 在控制器中注入ISqlSugarClient服务,并使用它来访问数据库。 ```csharp using Microsoft.AspNetCore.Mvc; using SqlSugar; [ApiController] [Route("[controller]")] public class MyController : ControllerBase { private readonly ISqlSugarClient _db; public MyController(ISqlSugarClient db) { _db = db; } [HttpGet] public IActionResult Get() { var list = _db.Queryable<MyEntity>().ToList(); return Ok(list); } } ``` 这样就可以使用SQLSugar连接池来连接数据库了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值