Entity framework 4 实体框架正在尝试创建一个数据库,但这不是我想要的
我有一个小的asp.net mvc4应用程序(在本地机器上运行良好),它使用实体框架v4.1.0.0和ADO.net DbContext生成器。(SQL Server 2008 r2) 我正在通过Visual Studio 2010中的“添加可部署依赖项…”上下文菜单添加所需的较新版本的DLL 我与godaddy.com共享了主机,我已将文件上载到服务器并创建了数据库,现在问题来了。当我尝试浏览我的网站时,我收到以下错误: 在数据库“master”中创建数据库的权限被拒绝。 我四处查看,发现这个错误是由EF code first尝试创建数据库引起的。但我不希望EF code first重新创建数据库,如何完全关闭自动数据库创建?我无意使用代码优先功能Entity framework 4 实体框架正在尝试创建一个数据库,但这不是我想要的,entity-framework-4,ef-code-first,Entity Framework 4,Ef Code First,我有一个小的asp.net mvc4应用程序(在本地机器上运行良好),它使用实体框架v4.1.0.0和ADO.net DbContext生成器。(SQL Server 2008 r2) 我正在通过Visual Studio 2010中的“添加可部署依赖项…”上下文菜单添加所需的较新版本的DLL 我与godaddy.com共享了主机,我已将文件上载到服务器并创建了数据库,现在问题来了。当我尝试浏览我的网站时,我收到以下错误: 在数据库“master”中创建数据库的权限被拒绝。 我四处查看,发现这个
请提供帮助。将此代码放入Global.asax的Application\u Start()方法或DbContext类的构造函数中
Database.SetInitializer<MyContext>(null);
Database.SetInitializer(null);
若要在更改POCO域时重新创建数据库,请使用以下代码而不是上面的代码
Database.SetInitializer<MyContext>(new DropCreateDatabaseIfModelChanges<MyContext>());
Database.SetInitializer(新的DropCreateDatabaseIfModelChanges());
如果您使用的是EF迁移,这是您为其设置的:
public sealed class DbConfiguration : DbMigrationsConfiguration<DatabaseContext>
{
public DbConfiguration()
{
AutomaticMigrationsEnabled = false;
}
}
我尝试放置
数据库.SetInitializer(null)
在global.asax和构造函数中,它都不工作,我缺少什么吗?请检查web应用程序中的连接字符串。我怀疑EF尝试创建的数据库是否与您已经创建的数据库不同。我在问题中没有提到的是,我还关注了universal providers,正如我仔细检查堆栈跟踪后发现的那样,universal providers还尝试为aspnet成员资格和配置文件创建数据库。因此,我现在回到web.config中较旧的aspnet成员资格和提供者设置,现在它可以工作了,谢谢@RayIt的努力。我必须编写Database.SetInitializer(null);6年后,我的MVC4EntityFramework6项目在托管服务器上运行。传奇
public class DatabaseContext : DbContext
{
public DatabaseContext()
: base(ApplicationParameters.ConnectionStringName)
{
}
public DatabaseContext(string connectionStringName)
: base(connectionStringName)
{
}
}