【发布时间】:2016-09-27 22:42:56
【问题描述】:
我有一个由另一个 Web api 使用的数据库。我需要在我的应用程序中针对一个表和两个字段对该数据库进行一个 DB 选择查询。我看到我可以通过这个link 在.net core 1 中使用一些工具创建一个数据库优先的数据库上下文。然而,为一个可能随着 web api 变化而变化的数据库创建整个 DBContext 似乎很繁重。此外,我不应该写信给它。因此,我可以更改 SQL Server 中的访问权限,以供用户选择。此外,我想将我的 sql 连接字符串与所有其他连接字符串一起放入我的 appsettings.json 文件中。
问题:是否可以在我的控制器中设置一个 sqlconnection,类似于:
private readonly SqlConnection dbCon = new SQLConnection(Configuration.GetConnectionString("DBCon"));
我的 DBCon 是在我的 appsettings.json 文件中定义的。当我尝试使用上述内容时,出现错误:
名称配置在当前上下文中不存在。
显然配置不是从 appsettings.json 获取设置的答案。
我需要为一个简单的查询设置一个快速的 sql 连接,该查询不需要任何用户输入而无需大量配置。任何帮助将不胜感激。
在控制台应用程序的 4.6 中,我可以使用 ConfigurationManager 从 app.config 获取连接字符串。不知道如何从 appsettings.json 中取出它。它可能会在 Startup.cs 中获取它,但不确定如何获取它并使其对控制器可用。
更新: AppSettings.json 如下:
{
"ConnectionStrings": {
"DefaultConnection": "valid Connection String",
"DBCon": "valid Connection String"
}, ....
【问题讨论】:
-
发布正确的代码。上面的不是真正的代码。您不能将字符串分配给 SqlConnection
-
@Tseng 抱歉我更新了。这是我试图实现的一个示例。
-
你的 appsettings.json 呢?
-
@Tseng 查看更新。
-
你打电话给这个吗?
Configuration属性只能在启动期间在Startup.cs类中访问,并且没有理由在外部访问它,因为现在可以使用 ASP 将依赖项和选项 (IOptions<T>) 注入到其他类和服务中。 NET 核心
标签: c# asp.net-core