[英]Move connectionstring to appsettings.json
我有以下DAO代碼:
using Dapper;
using PerformanceComWebAPI.Modelos;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
namespace PerformanceComWebAPICompleto.DAO
{
public class ClienteDAO
{
//string da conexão com a base de dados
private const string connectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=TesteDapper;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
/// <summary>
/// Listar todos os cliente da base de dados
/// </summary>
/// <returns></returns>
public List<Cliente> Listar()
{
var sql = "select * from dbo.Cliente";
List<Cliente> clientes = new List<Cliente>();
using (var connection = new SqlConnection(connectionString))
{
clientes = connection.Query<Cliente>(sql).ToList();
}
return clientes;
}
/// <summary>
/// Metodo que recupera o cliente pelo id
/// </summary>
/// <param name="idCliente">id cliente que vai ser recuperado</param>
/// <returns>O cliente que correspondente do cliente ou null quando não tiver cliente com id</returns>
public Cliente RecuperarPorID(int idCliente)
{
var sql = "select * from dbo.Cliente where id = @id";
Cliente cliente = new Cliente();
using (var connection = new SqlConnection(connectionString))
{
cliente = connection.QueryFirstOrDefault<Cliente>(sql, new { id = idCliente });
}
return cliente;
}
}
}
我想知道如何從該頁面移動連接字符串並將其插入到appsettings.json文件中,以便可以在其他頁面上重復使用它。
在ASP.NET Core中,配置系統非常靈活,並且連接字符串可以存儲在appsettings.json
,環境變量,用戶密碼存儲或其他配置源中。 有關更多詳細信息,請參見ASP.NET Core文檔的“ 配置”部分 。 以下示例顯示了存儲在appsettings.json
中的連接字符串。
{
"ConnectionStrings": {
"BloggingDatabase": "Server=(localdb)\\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;"
},
}
通常在Startup.cs
配置上下文,並從配置中讀取連接字符串。 請注意, GetConnectionString()
方法將查找其鍵為ConnectionStrings:<connection string name>
的配置值。 您需要導入Microsoft.Extensions.Configuration命名空間才能使用此擴展方法。
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<BloggingContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("BloggingDatabase")));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.