0

我一直在使用 EF 4 CTP5 并关注 scottgu 博客文章:http ://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

基本上,如果模型丢失,我希望模型为我生成表。

就我而言,它抱怨存在无效的数据库对象,那是因为我还没有表。我使用的是 SQL Server 2005,而博客中提到了 sql express 或 ce。

我想要创建表的模式,该功能仅适用于 sql express 和 CE 吗?

提前致谢

4

1 回答 1

3

“基本上我希望模型在丢失时为我生成表格”

目前使用 CTP5 不支持这种情况,但是在(不久的)将来应该可以做这样的事情:http: //blogs.msdn.com/b/efdesign/archive/2010/10/22/code-first -database-evolution-aka-migrations.aspx

目前只支持以下两种初始化策略:

// always recreate the database 
DbDatabase.SetInitializer(new DropCreateDatabaseAlways<MyDbContext>());

或者

// recreate the database if any changes to the model are detected.
DbDatabase.SetInitializer(new DropCreateDatabaseIfModelChanges<MyDbContext>());

还应该注意的是,EF 创建了整个数据库,而不仅仅是表,因此您不必自己创建数据库。

于 2011-01-24T11:12:50.630 回答