我正在尝试设置我的uni工作(这是基于windows)到我的mac上。我有一个docker容器运行与AzureSQLEdge,我已经连接到我的Azure数据工作室,可以运行查询没有问题。然而,在VS 2022试图建立连接到Azure数据工作室中的数据库。
目前,我只是想把一些ID打印到页面上(我们使用的是@razor)
@using WebMatrix.Data
@{
ViewBag.Title = "About Us";
var db = Database.Open("AmazonOrders");
var select = "SELECT * FROM Customers";
var data = db.Query(select);
}
<h2 class="text-center">@ViewBag.Title</h2>
<h3>@ViewBag.Message</h3>
<p>Use this area to provide additional information</p>
@foreach (var row in data)
{
@row.customerID
}
我在appsettings.json中的连接字符串是:
"AllowedHosts": "*",
"ConnectionStrings": {
"AmazonOrders": "Server=tcp:127.0.0.1,1433;Database=AmazonOrders;User=sa;Password=SQLserver123!;"
}
但是,当我加载页面时,我收到此错误消息:
无效操作异常错误:未找到连接字符串“AmazonOrders”。
设置连接字符串是所有windows用户必须做的,他们在他们的项目解决方案中有一个本地版本的数据库。任何帮助都是感激的,在线资源更多的是关于创建数据库上下文,如果可能的话,我宁愿避免,而只是直接连接到我的数据库在docker/azure数据工作室。
edit以下是完整的appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"AmazonOrders": "Server=tcp:127.0.0.1,1433;Database=AmazonOrders;User=sa;Password=SQLserver123!;"
}
}
1条答案
按热度按时间mnemlml81#
@使用WebMatrix.数据
这是一个旧的数据访问库,专门用于ASP.NET Web Pages,这是一个相当古老的(实际上已过时)的Web开发框架。因此,它对. NETCOre中引入的 * appsettings.json * 文件一无所知。Web页的主要配置机制是 web.config 文件,而这个库就是在这个文件中查找连接字符串的。
如果我是你,我会从你的项目中删除WebMatrix.Data(假设它实际上是一个Razor Pages应用程序,而不是Web Pages),并使用Entity Framework Core。如果它是一个Web Pages应用程序,并且这是你想要使用的框架,请删除 appsettings.json 文件,并向 web.config 文件添加一个连接字符串:https://www.connectionstrings.com/store-connection-string-in-webconfig/