asp.net core连接数据库
时间: 2024-12-30 18:12:21 浏览: 10
### 如何在 ASP.NET Core 中配置和使用数据库连接
#### 配置数据库连接字符串
为了使应用程序能够访问 SQL Server 数据库,在 `appsettings.json` 文件中定义连接字符串是一个常见的做法。这允许开发者根据不同环境轻松切换不同的数据库设置。
```json
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=YourDbName;Trusted_Connection=True;"
}
}
```
上述 JSON 片段展示了如何声明一个名为 `DefaultConnection` 的连接串[^1]。
#### 注册数据库上下文服务
接着,需要通过依赖注入机制注册用于管理数据库交互的服务。对于 Entity Framework Core 或者像 SqlSugar 这样的第三方 ORM 工具来说,通常是在 `Startup.cs` 或者新的 .NET 6/7 应用中的 `Program.cs` 文件里完成这项工作。
当采用 SqlSugar 来作为数据层框架时,可以按照下面的方法向 DI 容器添加 ISqlSugarClient 单例:
```csharp
builder.Services.AddSingleton<ISqlSugarClient>(s => {
var sqlSugar = new SqlSugarScope(new ConnectionConfig()
{
DbType = SqlSugar.DbType.SqlServer,
ConnectionString = builder.Configuration.GetConnectionString("DefaultConnection"),
IsAutoCloseConnection = true
});
return sqlSugar;
});
```
这段 C# 代码片段说明了怎样初始化并配置 SqlSugar 实例以便在整个应用生命周期内共享同一个客户端对象[^2]。
#### 使用已配置的数据库连接执行查询或其他操作
一旦完成了前面两步的工作之后,就可以利用已经准备好的工具来进行实际的数据读写活动了。比如可以在某个静态类里面编写方法来填充缓存列表或者其他业务逻辑所需的数据集合。
```csharp
public class PublicDataBuffer
{
public static List<EnvironmentRecord> DataBuffer = new();
public static void InitDataBuffer(ISqlSugarClient dbClient)
{
DataBuffer.AddRange(
dbClient.Queryable<EnvironmentRecord>()
.Take(100)
.ToList());
}
}
```
这里展示了一个简单的例子,它会从数据库获取最多前一百条记录并将它们加入到内存缓冲区中[^3]。
阅读全文