Entity framework 4 EF CTP4-创建表,但不删除数据库

Entity framework 4 EF CTP4-创建表,但不删除数据库,entity-framework-4,code-first,Entity Framework 4,Code First,我只有一个托管的SQL Server DB,没有删除它的权限。如何让EF从我的域类创建表?重新创建数据库IfModelChanges和AlwaysCreateDatabase尝试删除数据库,CreateDatabaseOnlyIfNotExists不创建表 ThxCreateDatabaseOnlyIfNotExists是默认策略。这意味着您甚至不需要通过Database.SetInitializer进行设置。EF代码将首先检查数据库,如果找不到与上下文的完全限定名同名的数据库,它将为您创建一个

我只有一个托管的SQL Server DB,没有删除它的权限。如何让EF从我的域类创建表?重新创建数据库IfModelChanges和AlwaysCreateDatabase尝试删除数据库,CreateDatabaseOnlyIfNotExists不创建表


Thx

CreateDatabaseOnlyIfNotExists是默认策略。这意味着您甚至不需要通过Database.SetInitializer进行设置。EF代码将首先检查数据库,如果找不到与上下文的完全限定名同名的数据库,它将为您创建一个

如果数据库已经存在,但表不存在,CreateDatabaseOnlyIfNotExists会抛出异常。这无关紧要。如果数据库在那里——不管是空的还是满表的——EF将什么都不做,只是抛出一个异常。在运行应用程序之前,您需要手动删除数据库。因此,请继续修复它:创建所有表和所有内容,并确保它与您的对象模型完全匹配,以便EF可以在不引发异常的情况下使用它。哈哈,所以每次我更改模型时,都要去编辑数据库。我已经开始使用本地数据库进行开发,并创建了一个TLS包来同步更改,但这仍然是一种时间浪费。截至CTP4,EF无法更改您的数据库,它要么重新创建数据库,要么您负责更改数据库。目前,在RTW版本发布之前,您必须为您的开发选择这些工作流中的任何一个,RTW版本将附带数据库迁移功能。