InvalidOperationException: свойство ConnectionString не было инициализировано - PullRequest
0 голосов
/ 09 апреля 2020

Microsoft.Data.SqlClient.SqlConnection.PermissionDemand () Microsoft.Data.SqlClient.SqlConnectionFactory.PermissionDemand (DbConnection outerConnection) Microsoft.Data.ProviderBase.DbConnectionInternal. .Data.ProviderBase.DbConnectionClosed. . DDD .Infraestructure.Data.Repositories.ClienteRepository.ExecutarDataReader (SqlParameter [] param, string sql) в ClienteRepository.cs

        private IEnumerable<Cliente> ExecutarDataReader(SqlParameter[] param, string sql)
        {
            string cn = ObterStringConexao();
            List<Cliente> clientes = new List<Cliente>();
            using (SqlConnection con = new SqlConnection())
            {

                con.Open();

                SqlCommand cmd = new SqlCommand(sql, con);
                cmd.Parameters.Clear();
                if (param != null)
                    cmd.Parameters.AddRange(param);
                using (SqlDataReader reader = cmd.ExecuteReader())

Projeto.Curso.Core. DDD .Infraestructure. Data.Repositories.ClienteRepository.Get () в ClienteRepository.cs

            //return _ctx.Database.GetDbConnection().Query<Cliente>(query.ToString());
            // Usando ADO
            StringBuilder query = new StringBuilder();
            query.Append("SELECT * FROM Clientes ORDER BY Id DESC");

            return ExecutarDataReader(null, query.ToString());

        }
        public override Cliente GetById(int Id)
        {
            // Usando Dapper
            //StringBuilder query = new StringBuilder();

Projeto.Curso.Core . DDD .Domain.Services.ServiceBase.Get () в ServiceBase.cs

            _repositoryBase.Delete(obj);
            return obj;
        }

        public IEnumerable<T> Get()
        {

            return _repositoryBase.Get();

        }
        public T GetById(Expression<Func<T, bool>> predicate)
        {
            return _repositoryBase.GetById(predicate);
        }

Projeto.Curso.Core. DDD .Application.Services.ClienteApplication.Get () в ClienteApplication.cs

            var _clienteViewModel = _clienteService.Delete(cliente);
            return _mapper.Map<ClienteViewModel>(_clienteViewModel);
        }
        public ClienteViewModel Get()
        {

            var clientes = _clienteService.Get();

            return _mapper.Map<ClienteViewModel>(clientes);
        }
        public ClienteViewModel Get(int Id)
        {
            var cliente = _clienteService.GetById(Id);

Projeto.Curso.Core. DDD .Presentation.Areas.Cadastro.Controllers.ClientesController.Index () в ClientesController.cs

        {
            _clienteApplication = clienteApplication;
        }
        public IActionResult Index()
        {

            var model = _clienteApplication.Get();

            return View(model);
        }
    }
}

lambda_method (Закрытие, объект , object []) Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute (объектная цель, параметры объекта []) Microsoft.AspNetCore. Mvc .Infrastructure.ActionMethodExecutor + SyncActionResultExecutor.Execute (средство отображения объекта IActionResultTypeMapperd, мастер объектов, объект-исполнитель, объект-диспетчер объекта, объект-исполнитель контроллера объекта, мастер объектов объекта, мастер объектов объекта, объект-исполнитель контроллера объекта, мастер объектов объекта, мастер объектов объекта, объект-исполнитель объекта, мастер объектов объекта, объект-исполнитель, объект-исполнитель, объект-исполнитель, объект-исполнитель, объект-исполнитель, ObjectMutor ] arguments) Microsoft.AspNetCore. Mvc .Infrastructure.ControllerActionInvoker.InvokeActionMethodAsyn c () Microsoft.AspNetCore. Mvc .Infrastructure.ControllerActionInvoker.Next (далее указано состояние, область действия объекта ref, состояние объекта ref, ref bool) ) Microsoft.AspNetCore. Mvc .Infrastructure.ControllerActionInvoker.InvokeNextActionFilt erAsyn c () Microsoft.AspNetCore. Mvc .Infrastructure.ControllerActionInvoker.Rethrow (контекст ActionExecutedContextSealed) Microsoft.AspNetCore. Mvc .Infrastructure.ControllerActionInvoker.Next (ref State далее, ref область действия, ref объект видимости, ref объект видимости, ref объект видимости, объект ref, объект ref bool isCompleted) Microsoft.AspNetCore. Mvc .Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsyn c () Microsoft.AspNetCore. Mvc .Infrastructure.ResourceInvoker.g__Awaited | 24_0 (объект ResourceInvoker, объект последний, задача последний, задача Задача последняя, ​​задача последний состояние, bool isCompleted) Microsoft.AspNetCore. Mvc .Infrastructure.ResourceInvoker.Rethrow (контекст ResourceExecutedContextSealed) Microsoft.AspNetCore. Mvc .Infrastructure.ResourceInvoker.Next (ref State next, ref Scope scope, ref состояние объекта, ref bool isCompleted) Microsoft.AspNetCore. Mvc .Infrastructure.ResourceInvoker.InvokeFilterPipelineAsyn c () Microsoft.AspNetCore. Mvc .Infrastructure.ResourceInvoker.g__Awaited | 17_0 (активатор ResourceInvoker, задача задачи, IDispos) справиться) .AspNetCore.Diagnostics.EntityFrameworkCore.MigrationsEndPointMiddleware.Invoke (контекст HttpContext) Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.DatabaseErrorPageMiddleware.Invoke (HttpContext HttpContext) Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.DatabaseErrorPageMiddleware.Invoke (HttpContext HttpContext) Microsoft.AspNetCore.Diagnostics. DeveloperExceptionPageMiddleware.Invoke (контекст HttpContext)

appsettings. json

{
  "ConnectionStrings": {
    "SqlContext": "Data Source=DESKTOP-ER183LO\\SQLEXPRESS;Initial Catalog=Projeto_DDD;Integrated Security=True"
  },
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  }
}

1 Ответ

1 голос
/ 10 апреля 2020

Обязательно передайте строку подключения в SqlConnection, как показано в документах .

...