0

在本地系统上使用 EFCodeFirst 创建数据库已经完成。但是,当尝试在 Web 服务器主机上创建数据库时,它会给出错误“创建数据库权限被拒绝”。

我无法找出其中的实际问题。

一切正常,如果我在任何其他本地系统上使用 EFcodefirst 创建数据库,但它不适用于 Web 服务器主机。

请帮忙!

谢谢 ..

4

1 回答 1

0

因为您在共享网络服务器主机上的架构不是“dbo”。所以你不能或者你没有足够的权限来创建数据库(这是EF代码的默认行为,当它找不到连接字符串指定的数据库时)。你有 3 个选择(至少):

  • 请求更高的权限(这是不幸的)
  • 首先创建一个新的空数据库,或者要求(主机)这样做,然后在连接字符串中指定其详细信息。
  • 或者只是关闭数据库迁移并手动执行所有操作(设置Database.SetInitializer<MyContext>(null);)。
于 2012-05-29T15:56:28.287 回答