当我谷歌“MVC连接字符串”或类似的东西,我得到了一堆关于这个问题/文章,我读过的所有这些说编辑一个Web.config文件。是否有任何理由在我的项目中不起作用?MVC实体框架连接字符串不起作用
我的项目使用实体框架,现在它工作在本地数据库。我编辑了两个Web.config文件(一个在项目文件夹中,另一个在Views文件夹中 - 我真的不知道其中的差别)。这些文件最初没有任何<connectionStrings>
标签,所以我手动添加这一点,这两个文件:
<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; }
}
无连接字符串。我能以某种方式强制吗?
我想,你应该删除debug文件夹和重建项目。 –
有时Entity Framework在上下文中拥有他自己的连接字符串。检查EF使用您的web.config文件,而不是他的构造函数中的变量。 – AdrienTorris
如果您通过NuGet安装EF,您的默认connectionstring应自动添加到配置文件中。你可以连接到Visual Studio服务器浏览器中的'mysite.database.windows.net'吗? –