EF CTP5自动创建表SQL Server 2005

时间:2011-01-24 09:51:52

标签: .net entity-framework entity entity-framework-ctp5

我一直在使用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吗?

提前致谢

1 个答案:

答案 0 :(得分:3)

“基本上我希望模型为我生成表格,如果它缺失”

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

目前仅支持以下2种初始化策略:

// 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创建整个数据库,而不仅仅是表,因此您不必自己创建数据库。