1.如果我创建新的 MVC 项目,它有默认的连接字符串:
< add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial
Catalog=aspnet-OneVeryBad.Web-20130301153805;Integrated
Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-OneVeryBad.Web-20130301153805.mdf"
providerName="System.Data.SqlClient" />
2. 我创建了继承自 DbContext 的上下文:
public class BadContext : DbContext
{
public BadContext() : base("BadContext")
{
}
/* DbSets */
}
3. 将连接字符串名称更改为 BadContext 以使用 EF:
< add name="BadContext" connectionString="Data Source=(LocalDb)\v11.0;Initial
Catalog=aspnet-OneVeryBad.Web-20130301153805;Integrated
Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-OneVeryBad.Web-
20130301153805.mdf" providerName="System.Data.SqlClient" />
现在我可以成功地将数据存储到 LocalDb,但无法注册用户:
数据库“master”中的 CREATE DATABASE 权限被拒绝。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:数据库“master”中的 CREATE DATABASE 权限被拒绝。
除非我将连接字符串改回原来的:
< 添加名称="默认连接" ...
我通过 VS 服务器资源管理器在本地数据库中看到了我的上下文表和成员表。但不能使成员资格与 EF 连接字符串一起使用。我该如何解决这个问题?最初我想将所有表存储在 localdb 中,以便无论我走到哪里,它都可以在项目中始终与我同在。