无法打开登录请求的数据库。用户''登录失败

时间:2014-01-11 16:49:28

标签: sql-server entity-framework sql-server-2008-r2

我正在尝试使用DbContext“MyDbContext”创建数据库。

我正在使用带有SQL Server和Windows身份验证的SQL Server 2008 R2。

我的DbConfiguration

public class HostDbConfiguration : DbConfiguration
{
    public HostDbConfiguration()
    {
        SetProviderServices("System.Data.SqlClient", System.Data.Entity.SqlServer.SqlProviderServices.Instance);
        SetDefaultConnectionFactory(new LocalDbConnectionFactory("v8.0", @"Server=Eran-PC;MultipleActiveResultSets=True;Trusted_Connection=true"));
    }
}

数据库将从DbContext创建,但在初始化时

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyDbContext>());
using (var db = new MyDbContext())
{
     db.Database.Initialize(true);
}

我得到以下异常:

  

无法打开登录请求的数据库“MyDB”。登录失败。

     

用户'Eran-PC \ Eran'登录失败。

有什么想法吗?

旁注:

我在SQL Server的安全性中检查了用户'Eran'的权限当我将所有内容检查为Grant并重新打开SQL Server Management Studio时,没有任何内容被检查为“Grant”或“Deny”,它全部归零并且没有任何内容再次检查。

如果我事先创建一个空数据库MyDB,初始化时会出现以下错误

  

无效的对象名称'dbo .__ MigrationHistory'

这是什么意思?

编辑:

根据sqlauthority,可以通过将Login的UserMapping添加到想要的数据库来解决这个问题,如何通过EF的DbConfiguration完成?

0 个答案:

没有答案