我试图创建两个数据库与SQL Server 2014年,实体框架。一个与asp.net身份并且另一个创建使用种子方法中Configuration.cs
创建“自动地”。
两人都在连接字符串中相同的SQL登录,但只有在创建身份数据库。对于另外一个,则出现下列错误:
在底层提供对打开失败。 [...] System.Data.SqlClient.SqlException:无法打开数据库“DBNAME”由登录请求。登录失败。
下面是连接字符串:
<connectionStrings>
<add name="AntContext"
connectionString="Database=dbname;User Id=user; Password=mypw;"
providerName="System.Data.SqlClient" />
<add name="DefaultConnection"
connectionString="Database=dbnameidentity;User Id=user; Password=mypw;"
providerName="System.Data.SqlClient" />
</connectionStrings>
在SQL Server Management Studio中检查,数据库dbnameidentity
创建,甚至与Configuration.cs
播种数据稀少,但对于另外一个登录失败。
我不知道为什么会这样。如果有必要,我会提供更多的信息。谢谢。
这里是我的种子法的头部。
protected override void Seed(IdentityDbContext context)
{
var antcontext = new DataContext.AntContext();
如果你没有为你的上下文中的初始化器集。这意味着它不会尝试创建数据库。如果你想确保DB被创建,那么你可以使用CreateDatabaseIfNotExists
初始化器,例如:
public class AntContext: DbContext
{
public AntContext(): base("AntContext")
{
Database.SetInitializer<AntContext>(new CreateDatabaseIfNotExists<AntContext>());
}
//snip
}