База данных .NET Core. Свойство строки подключения не было инициализировано

Я пытаюсь создать приложение .NET 6 Core MVC, которое показывает список пользовательских записей из базы данных. Но я получаю сообщение об ошибке «Свойство строки подключения не было инициализировано» при попытке открыть соединение. Прямо сейчас я пытаюсь предоставить данные в строке запроса, но получаю эту ошибку.

**DATA ACCESS LAYER**

using ABL_USER_DebitCard_Info.Models;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;

namespace ABL_USER_DebitCard_Info.Context
{
    public class DebitCard_DAL
    {

        string connectionString = "Data Source = (localdb)\\MSSQLLocalDB; Initial Catalog = ABL_DebitCard_User_Info_DB";

        
        public IEnumerable<Users> GetUserByCNIC(string? CNIC)
        {
            var debitcardList = new List<Users>();

            using (SqlConnection conn = new SqlConnection())
            {
                SqlCommand cmd = new SqlCommand("ABL_GetUserByCNIC", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@CNIC", CNIC);
                

conn.Open(); ---> GETTING ERROR HERE

                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    var user = new Users();
                    user.Id = Convert.ToInt32(reader["ID"].ToString);
                    user.CNIC = reader["CNIC"].ToString();
                    user.UserName = reader["UserName"].ToString();
                    user.CardNumber = reader["CardNumber"].ToString();
                    user.CardStatus = reader["CardStatus"].ToString();

                    debitcardList.Add(user);
                }
                conn.Close();
            }
            return debitcardList;
        }

    }
}


**Controller**

using ABL_USER_DebitCard_Info.Context;
using ABL_USER_DebitCard_Info.Models;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

namespace ABL_USER_DebitCard_Info.Controllers
{
    public class UsersController : Controller
    {

        DebitCard_DAL dbcontext = new DebitCard_DAL();

        [HttpGet]
        public ActionResult Details(string CNIC)
        {
            if (CNIC == null)
            {
                return NotFound();
            }
            else
            {
                List<Users> debitcardList = dbcontext.GetUserByCNIC(CNIC).ToList();
                return View(debitcardList);
                if (debitcardList.Count == 0)
                {
                    return NotFound();
                }
                else
                {
                    return View(debitcardList);
                }
            }
            
        }



    }
}
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
25
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вы создаете SqlConnection без указания строки подключения. Передайте строку подключения конструктору SqlConnection. using (SqlConnection conn = new SqlConnection(connectionString ))

Хорошо, что у вас есть переменная с именем «строка соединения», но не забывайте использовать ее, когда вам нужно :)

При создании нового экземпляра вашего sql-соединения вы забыли его поставить.

using (SqlConnection conn = new SqlConnection(connectionStringGoesHere))

строка подключения должен быть указан в файле startup.cs используйте это, или вы также можете использовать dapper для запуска запроса в ядре .net

using (SqlConnection conn = new SqlConnection(connectionString)

Другие вопросы по теме