EF Database First“数据库'master'中的CREATE DATABASE权限被拒绝。”

时间:2017-05-06 18:27:46

标签: entity-framework ef-code-first ef-database-first

我有2个网络项目 - 一个是内容管理(CMS1),另一个是网站(website2)。这些都是前一段时间转换为MVC和EF数据库,并且一直运行良好。一周前,我使用Code-First将asp身份添加到cms1项目中 - 现在运行正常。但是,website2现在给我“创建数据库权限被拒绝...”错误。

我在通用域名中使用这些:xxx.com/cms1/和xxx.com/website2/ cms1具有代码优先模型,该模型连接到名为AuthDb的数据库。 cms1还有一个数据库优先模型连接到一个名为dbData的数据库。 一切都很好 - 这很有效。

website2有一个数据库优先连接到2 dbs - DbTracking(跟踪数据)和dbData(读取通过cms1输入的内容)

我还没有在website2上做任何代码优先的事情。 连接字符串都有db-first元字符串

在上下文中,我对两个模型都有这个。

        public db()
        : base("name=db")
    {
        Database.SetInitializer<db>(null);
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

没有迁移文件夹,因为它始终是数据库优先。

当我打开website2时,我收到错误“创建数据库权限被拒绝...”但我不知道为什么该项目此时正在尝试创建数据库,因为它始终是db-first ... plus我添加了Database.SetInitializer(null)来防止它。

不知道还能做什么......?

1 个答案:

答案 0 :(得分:0)

看起来当我创建website2应用程序时,我使用个人帐户身份验证执行此操作,即使我从未使用过它。我不确定为什么但在更改cms应用程序以使用身份验证后,website2应用程序开始尝试创建身份验证数据库。所以我的解决方案是使用无需身份验证的website2重新开始。似乎在起作用