C# MVC实体框架连接字符串无效

C# MVC实体框架连接字符串无效,c#,asp.net-mvc,entity-framework,asp.net-mvc-4,C#,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,当我在谷歌上搜索MVC连接字符串或类似的东西时,我会收到一大堆关于这方面的问题/文章,我读过的所有这些都说要编辑一个Web.config文件。在我的项目中,这不起作用有什么原因吗 我的项目使用实体框架,现在它在本地数据库上工作。我编辑了2个Web.config文件,一个在项目文件夹中,另一个在视图文件夹中,我真的不知道有什么区别。这些文件最初没有任何标记,因此我手动将其添加到两个文件中: <connectionStrings> <add name="DefaultC

当我在谷歌上搜索MVC连接字符串或类似的东西时,我会收到一大堆关于这方面的问题/文章,我读过的所有这些都说要编辑一个Web.config文件。在我的项目中,这不起作用有什么原因吗

我的项目使用实体框架,现在它在本地数据库上工作。我编辑了2个Web.config文件,一个在项目文件夹中,另一个在视图文件夹中,我真的不知道有什么区别。这些文件最初没有任何标记,因此我手动将其添加到两个文件中:

  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=mysite.database.windows.net;Initial Catalog=Developer;User ID=user;Password=pass" providerName=".NET Framework Data Provider for SQL Server"/></connectionStrings>
。。但它仍然使用我的本地主机数据库。有什么明显的东西我错过了

编辑:

删除调试和重建不起作用

这是我的上下文类

public class TrackerContext : DbContext
{
    public TrackerContext() : base() {}
    public DbSet<Toll> Tolls { get; set; }
    public DbSet<TollRecord> TollRecords { get; set; }
    public DbSet<Trip> Trips { get; set; }
    public DbSet<TripRecord> TripRecords { get; set; }
}

没有连接字符串。我可以强制它吗???

将您的构造函数更改为:

 public TrackerContext() : base("Name=DefaultConnection") {}

SQL Server对象资源管理器上未显示本地连接字符串

我是如何解决的:

单击“视图”选项卡, 选择SQL Server对象资源管理器, 右键单击SQL Server并刷新


它马上就出现了。

我想,您应该删除调试文件夹并重建项目。有时实体框架在上下文中有自己的连接字符串。Check EF使用您的web.config文件,而不是其构造函数中的变量。如果您通过NuGet安装EF,则默认连接字符串应自动添加到配置文件中。能否在visual studio服务器资源管理器中连接到mysite.database.windows.net?调试和重建无法工作。是的,我可以在资源管理器中连接到它..这是对底层dbcontext的说法,在那里可以获取连接字符串。这样做的目的是,您可以拥有多个到不同数据库的连接字符串。