2010-07-24 141 views
0

我一直在使用模型优先的方法大约两个星期,现在它工作得很好。我还使用了“从模型生成数据库”选项,这会生成一个DDL,而DDL又是一个用于创建数据库的SQL脚本。如果我将实体添加到模型中并更新DDL,它不会向已存在的实体添加alter语句,因此如果我要再次运行脚本,它会删除以前的表并重新创建它们并删除所有数据。有什么办法可以防止这种情况发生?或者以不同的方式做?或改变我的方法?实体框架4 DDL

回答

0

不是真正的DDL方法有两个问题,一个是不是真的可以解决的:

  • 当你发现它创建/重新创建一个数据库。没有维护。

  • 更重要的是:这是愚蠢的。如:不聪明。它只能使用SQL Server中可以做的非常小但最常见的子集,因此它基本上只适用于最简单的数据库。

如果不beliee第二点,在文档中读取了SQL Server的完整DDL和惊讶一个有多少事可以不那么常见的设置做。所有对SQL UQuery端都是透明的。 EF4 DDL中绝大多数高级功能都无法使用。

+0

这很令人失望,因为现在它意味着你必须进入数据库的复杂性 – fr3dr1k8009 2010-07-26 06:21:26