Хотя на этот вопрос уже есть ответы, но мой случай другой, вот как.
Он работает в первый раз, но не работает для последующих запросов.
Я создаю соединение в основном классе и передаю его в класс БД в качестве зависимости в егоконструктор, и он должен использоваться повторно для каждого вызова.
public class DB
{
private SqlConnection conn;
public DB(SqlConnection conn)
{
this.conn = conn;
}
public List<Records> GetRecords()
{
using (conn){
conn.Open();
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Records", conn))
using (SqlDataReader reader = cmd.ExecuteReader())
{
List<Records> rows = new List<Records>();
while (reader.Read())
{
rows.Add(new Records(reader.GetString(1)));
}
return rows;
}
}
}
}
Класс вызывающего абонента
string connection = $@"
Data Source=;
Initial Catalog=;
Persist Security Info=True;
User ID={env["DATABASE_USER"]};
Password={env["DATABASE_PASSWORD"]};";
Db db = new DB(new SqlConnection(connection));
db.GetRecords();
Ошибка: Microsoft.AspNetCore.Diagnostics. DeveloperExceptionPageMiddleware [1] Произошло необработанное исключение при выполнении запроса. System.InvalidOperationException: свойство ConnectionString не было инициализировано.