.net core怎样用配置来实现链接数据库并且搭配DBhelp来实现 并且dbhelp类不写接口直接写类 并且dbhelp是用ado.net来实现的 并且正式可以使用的
时间: 2024-02-01 09:14:33 浏览: 53
首先,我们需要在 .NET Core 项目中添加 NuGet 包 `Microsoft.Extensions.Configuration` 和 `Microsoft.Extensions.Configuration.Json`,用来读取配置文件。配置文件可以是 JSON 格式,也可以是其他格式。
接下来,我们需要在配置文件中添加连接数据库的配置,例如:
```json
{
"ConnectionStrings": {
"DefaultConnection": "Data Source=localhost;Initial Catalog=mydatabase;User ID=myusername;Password=mypassword"
}
}
```
然后,在代码中读取配置文件并使用配置信息来连接数据库。我们可以通过以下方式来读取配置文件:
```csharp
using Microsoft.Extensions.Configuration;
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json");
var configuration = builder.Build();
```
然后,我们可以使用 `configuration.GetConnectionString("DefaultConnection")` 来获取连接字符串,然后使用 ADO.NET 中的 `SqlConnection` 类来连接数据库:
```csharp
using System.Data.SqlClient;
var connectionString = configuration.GetConnectionString("DefaultConnection");
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
// Do something with the connection
}
```
最后,我们可以创建一个 `DbHelper` 类来封装对数据库的操作。由于不需要写接口,我们可以直接定义一个类并实现相关方法。例如,我们可以添加一个 `ExecuteNonQuery` 方法:
```csharp
using System.Data;
using System.Data.SqlClient;
public class DbHelper
{
private readonly string _connectionString;
public DbHelper(string connectionString)
{
_connectionString = connectionString;
}
public int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
{
using (var connection = new SqlConnection(_connectionString))
{
using (var command = new SqlCommand(sql, connection))
{
command.CommandType = CommandType.Text;
if (parameters != null)
{
command.Parameters.AddRange(parameters);
}
connection.Open();
return command.ExecuteNonQuery();
}
}
}
}
```
现在,我们就可以使用 `DbHelper` 类来执行 SQL 语句了。例如,我们可以这样使用:
```csharp
var connectionString = configuration.GetConnectionString("DefaultConnection");
var dbHelper = new DbHelper(connectionString);
var sql = "INSERT INTO MyTable (Name, Age) VALUES (@Name, @Age)";
var parameters = new [] { new SqlParameter("@Name", "John"), new SqlParameter("@Age", 30) };
var affectedRows = dbHelper.ExecuteNonQuery(sql, parameters);
Console.WriteLine($"Affected rows: {affectedRows}");
```
这样,我们就可以使用配置文件来连接数据库,并通过 `DbHelper` 类来执行 SQL 语句了。
阅读全文