在之前使用过 Web 表单之后,我正在寻找 MVC,并且我一直在 asp.net 上做电影教程,但我遇到了一个完全令人困惑的问题。
我的网络配置中有 2 个连接字符串:
<connectionStrings>
<add name="MovieDBContext"
connectionString="Data Source=(LocalDB)\(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
<add name="DefaultConnection" connectionString="Data Source="(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-MvcMovie-20160408044847.mdf;Initial Catalog=aspnet-MvcMovie-20160408044847;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
然后我有我的上下文(注意我也尝试在堆栈上的另一个答案之后在这里设置连接字符串,尽管我相信如果上下文名称与连接字符串名称相同,它应该自动完成
public class MovieDBContext : DbContext
{
public MovieDBContext() : base("MovieDBContext"){ }
public DbSet<Movie> Movies { get; set; }
}
无论我做什么,它都使用默认连接字符串而不是 MovieDbContext 连接字符串,对于我的生活,我无法弄清楚为什么。如果我将默认连接字符串的数据源设置为moviedbcontext的数据源,它可以正常工作并连接到正确的数据库,但我无法弄清楚为什么它只会使用默认的数据库(我什至尝试过更改名称连接字符串和上下文无济于事)
任何帮助表示赞赏
干杯