【问题标题】:EF Database First "CREATE DATABASE permission denied in database 'master'."EF 数据库优先“数据库 'master' 中的 CREATE DATABASE 权限被拒绝。”
【发布时间】:2017-05-07 22:22:11
【问题描述】:

我有 2 个网络项目 - 一个是内容管理 (CMS1),另一个是网站 (website2)。不久前,它们都转换为 MVC 和 EF Database First,并且运行良好。一周前,我使用 Code-First 将 asp Identity 添加到 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...加上我添加了 Database.SetInitializer(null) 来防止它。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-06-19
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      • 2011-08-03
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 2016-12-17
      相关资源
      最近更新 更多