[英]EF code first database: login failed for same user for one of two databases, equivalent connection string
我正在尝试使用SQL Server 2014 Entity Framework创建两个数据库。 一个是使用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
种子数据填充数据库dbnameidentity
,但是对于另一个数据库,登录将失败。
我不知道为什么会这样。 如有必要,我将提供更多信息。 谢谢。
这是我的播种方法的负责人。
protected override void Seed(IdentityDbContext context)
{
var antcontext = new DataContext.AntContext();
如果您没有为上下文设置初始化程序 。 这意味着它将不会尝试创建数据库。 如果要确保已创建数据库,则可以使用CreateDatabaseIfNotExists
初始化程序,例如:
public class AntContext: DbContext
{
public AntContext(): base("AntContext")
{
Database.SetInitializer<AntContext>(new CreateDatabaseIfNotExists<AntContext>());
}
//snip
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.