Flo*_*ont 11 c# entity-framework ef-migrations
我们正在我们的登台服务器上部署一个简单的ASP.NET MVC应用程序,当EntityFramework尝试迁移现有数据库时,我们收到以下错误.
CREATE DATABASE permission denied in database 'master'.
Run Code Online (Sandbox Code Playgroud)
情况如下:
看来下面的方法(来自EntityFramework)返回false,显然应该返回true:
System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists()
Run Code Online (Sandbox Code Playgroud)
数据库初始化程序具有以下代码:
Database.SetInitializer(new MigrateDatabaseToLatestVersion<DataContext, Configuration>());
Run Code Online (Sandbox Code Playgroud)
自动迁移已关闭,因为我们正在使用基于代码的迁移.
connectionstring指向正确的数据库,用户对该数据库具有db_owner权限.用户无权访问服务器上的其他表.
这是个常见的问题吗?有谁知道这方面的解决方案?
日Thnx!
确保数据库存在 - 执行以下脚本
IF db_id(N'MyDatabaseName') IS NOT NULL SELECT 1 ELSE SELECT Count(*) FROM sys.databases WHERE [name]=N'MyDatabaseName'
Run Code Online (Sandbox Code Playgroud)
假设用户有权查询'sys.databases'
数据库列表。如果此查询失败 - EF 认为 DB 尚未创建并尝试再次创建它。
确保执行迁移的用户能够成功执行上面的查询
归档时间: |
|
查看次数: |
1526 次 |
最近记录: |