EF代码优先 - 创建数据库 - 用户登录失败(EF Code First - creating d

2019-07-20 06:12发布

我原本有一个EF代码首先设置这是连接到现有的数据库。 这是工作的罚款。

然后我做了一些更改到POCO,并决定让代码首先生成新的数据库,对我来说。

收到错误:无法打开数据库\“MyDatabase的\”由登录请求。 登录失败。\ r \ n登录名失败,用户“域\用户名”。

我删除了旧的数据库,但我并没有更改连接字符串:

<add name="MyDatabaseContext" connectionString="Data Source=localhost;Initial Catalog=MyDatabase;Integrated Security=True;" providerName="System.Data.SqlClient" />

我有我的本地计算机上的SQL Server 2008实例和我的域用户名是“系统管理员”的角色。

我尝试了各种数据库的初始化,我也得到了同样的错误所有。 它失败的第一个查询电话,但代码先不创建数据库。 我可以在连接字符串指向旧数据库的副本(修改之前),它将会运行得很好,但它是我的旧模式,即使我指定的DropCreateDatabaseAlways初始化。 这不是决策意识,而不是什么之后我经历了我家的机器上先用代码工作。

使用Visual Studio 2012和EF5。

我需要能够有代码首先生成一个新的数据库。 到底是怎么回事?

Answer 1:

发现我在我的DbContext类,这是压倒一切的数据库初始化静态构造函数。

static MyDbContext()
        {
            Database.SetInitializer<MyDbContext>(null);
        }

代码首先逆向工程师会把这个在这样您就不会覆盖现有的数据库。 当我打开我并没有考虑过它。

希望这会帮助别人了。



文章来源: EF Code First - creating database - Login failed for user