C# Azure数据库的ASP.NET数据库连接问题

C# Azure数据库的ASP.NET数据库连接问题,c#,asp.net,database,azure,C#,Asp.net,Database,Azure,我学习了微软网站上的WingtipToys教程,它基本上是一个ASP.NET教程,展示了它可以做的许多功能,等等 我制作了自己的数据库,以便在教程中使用,并让它在本地机器上完美地工作。然后,我决定将其发布到Azure以查看其在线正常工作,这就是我的问题开始的地方 首先,我在Azure中创建了一个SQL数据库,并将我的数据库移到了其他位置。我可以在VisualStudio中连接到这个Azure数据库,并可以验证是否存在所有正确的表,每个表都充满了数据 下一步是更新我的连接字符串,该字符串当前为

我学习了微软网站上的WingtipToys教程,它基本上是一个ASP.NET教程,展示了它可以做的许多功能,等等

我制作了自己的数据库,以便在教程中使用,并让它在本地机器上完美地工作。然后,我决定将其发布到Azure以查看其在线正常工作,这就是我的问题开始的地方

首先,我在Azure中创建了一个SQL数据库,并将我的数据库移到了其他位置。我可以在VisualStudio中连接到这个Azure数据库,并可以验证是否存在所有正确的表,每个表都充满了数据

下一步是更新我的连接字符串,该字符串当前为

  <connectionStrings>
    <add name="WingtipTpys" providerName="System.Data.SqlClient" connectionString="Server=tcp:xxxx.database.windows.net,1433;Database=xxxx;Integrated Security=False;User Id=xxx;Password=xxxx;Encrypt=True;TrustServerCertificate=False;MultipleActiveResultSets=True" />
  </connectionStrings>

)它使用正确的母版页,关于和联系页都是它们应该的样子。但是,它正在从数据库中提取数据

ProductDatabaseInitializer

类,其中包含以下代码:

 private static List<Product> GetProducts()
    {
      var products = new List<Product> {
                new Product
                {
                    ProductID = 1,
                    ProductName = "TEST",
                    Description = "This convertible car is fast! The engine is powered by a neutrino based battery (not included)." + 
                                  "Power it up and let it go!", 
                    ImagePath="",
                    UnitPrice = 39.50,
                    CategoryID = 1
               },
                new Product 
                {
                    ProductID = 2,
                    ProductName = "Silly Car",
                    Description = "There's nothing old about this toy car, except it's looks. Compatible with other old toy cars.",
                    ImagePath="",
                    UnitPrice = 15.95,
                     CategoryID = 1
               },
private static List GetProducts()
{
var产品=新列表{
新产品
{
ProductID=1,
ProductName=“测试”,
Description=“这款敞篷车速度很快!发动机由中微子电池(不包括在内)供电。”+
“给它通电,让它走!”,
ImagePath=“”,
单价=39.50,
类别ID=1
},
新产品
{
ProductID=2,
ProductName=“傻瓜车”,
Description=“这款玩具车除了外观之外,没有什么老掉牙的地方。与其他旧玩具车兼容。”,
ImagePath=“”,
单价=15.95,
类别ID=1
},
这个类一直存在,但在我的本地机器上,它从未被使用过。数据直接来自我创建的数据库。我不明白现在我是如何更新连接字符串的,它是从这个类而不是我的数据库中提取数据的。另一个奇怪的元素是,当我更新这个类时,例如,我改变了

敞篷车价格从22.50降至39.50 和 旧车名为“傻车”

当网站再次发布时,这些数据不会更新。所以我不知道它在哪里或者为什么使用旧数据

所以我想我的第一个问题是,当我更新ProductDatabaseInitializer类时,为什么这些更改在网站再次发布时没有反映出来?我想我应该先了解为什么会发生这种情况,然后再询问为什么我的数据库不能正常工作

任何帮助都将不胜感激


谢谢你,节日快乐。

我不是100%确信你正在从你认为的位置提取数据。你能验证你的数据库连接字符串吗

您需要查看几个地方。首先,在Azure门户中,导航到您的Web应用程序,然后选择“应用程序设置”菜单选项。检查“连接字符串”部分下是否列出了任何内容

其次,登录到SCM站点的地址。登录后,选择调试控制台->CMD。然后浏览到/wwwroot文件夹并检查web.config文件内容。检查以确保其中列出的连接字符串也符合您的预期

请注意,门户中列出的应用程序设置连接字符串将优先于web.config文件中的内容。请查看您希望连接到的数据库是否实际列在这两个位置


另外,登录到SCM站点并浏览到/App_数据目录。查看是否有您不希望看到的数据库。

在Azure设置中,它具有以下连接字符串;数据源=tcp:completebusiness2017dbserver.database.windows.net,1433;初始目录=CompleteBusiness2017_db;用户Id=Complete1@completebusiness2017dbserver;Password=PasswordHere,它与Visual Studio上的连接字符串中的内容相匹配。它的类型为“SQL数据库”。SCM站点有;``并且我不确定第二个连接字符串是什么,或者它为什么在那里。在SCM站点中,您的连接字符串名称拼写为WingtipTpys是否重要?我没有注意到。当我将其更改为正确拼写时,它给了我一个错误,即不能有两个名为相同。所以,我重命名了第二个连接字符串(我不明白它为什么在那里)但该网站仍然存在与以前相同的问题,从旧的数据库初始值设定项中提取数据,或者至少从我的数据库以外的其他地方提取数据。我认为我们需要查看代码以进一步排除故障。我们需要查看您的控制器方法直至数据访问。还有一个想法:您可以重新登录到SCM网站并检查您的应用程序数据吗一个文件夹,看看有没有什么?