Переместить строку подключения в appsettings.json - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть следующий код 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, чтобы я мог использовать ее с другимистраниц.

1 Ответ

0 голосов
/ 01 декабря 2018

В 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")));
}
...