在没有实体Framewiork DbContext的情况下将连接字符串读入配置

时间:2018-12-17 10:04:54

标签: asp.net-core

我正在开发一个不使用实体框架的.NET Core 2.1应用程序。但是我想知道如何将连接字符串读入Configuration中,因为通常的方法需要一个DBContext文件(我没有,因为我注意到使用EF)。

如果我使用的是EF,通常我会像这样从appsettings.json中读取连接字符串:

    services.AddDbContext<ApplicationDbContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

在没有DBContext的情况下如何做?

1 个答案:

答案 0 :(得分:1)

如果使用简单的ado.net,则不能使用DBContext。您打开连接并执行查询:

注意在这里使用声明很重要,以确保正确处理/关闭连接。

 using (SqlConnection connection =
            new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
        {
            // Create the Command and Parameter objects.
            SqlCommand command = new SqlCommand(queryString, connection);
            command.Parameters.AddWithValue("@pricePoint", paramValue);

            // Open the connection in a try/catch block. 
            // Create and execute the DataReader, writing the result
            // set to the console window.
            try
            {
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    Console.WriteLine("\t{0}\t{1}\t{2}",
                        reader[0], reader[1], reader[2]);
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();
        }