1

我目前正在做一个我想第一次使用实体框架的项目。我在 Lerman/Miller 的书籍、MSDN、ADO.NET 博客和 stackoverflow 上阅读了很多关于 DbContext API 和自 EF 4.3 以来可用的代码优先迁移功能的最新发展的信息。由于尤其是后者真的很棒,我想知道在此期间是否有可能以“模型优先”为中心做同样的工作?在创建代码和数据库后,是否可以基于可视化 EDMX 设计器(而不是代码)进行迁移?

我发现一个最近的链接(2012-04)说它不是(在 EF 4.3 中): Using EF4 migration tool with model-first approach

其次,我发现旧代码和数据库表在尝试从 EDMX 设计器重新生成时被覆盖的信息?

但我指的是关于电动工具的信息:http: //blogs.msdn.com/b/adonet/archive/2012/04/09/ef-power-tools-beta-2-available.aspx

逆向工程 Code First 此命令允许为现有数据库一次性生成 Code First 映射。[..] • 多次运行此命令将覆盖任何以前生成的文件,包括对生成的文件所做的任何更改

这种限制是仅特定于 Power Tools 逆向工程师 Code First 还是一般扩展到 EDMX 设计人员,尤其是“模型优先”方法?

此外,在上面的文章中,我发现:

查看实体数据模型(只读)在实体框架设计器中显示 Code First 模型。• 这是模型的只读表示;您无法使用设计器更新 Code First 模型。

同样的问题也适用于此。

那么目前有没有一种方法可以在没有数据丢失(代码和数据库)的情况下进行完整的往返建模并保持 EDMX 文件可写,最好遵循“模型优先”?

从哪个版本的 EF 开始支持(已经或计划支持),我应该以哪个版本的 .NET 为目标(4.0 就足够了?)这是否适用于 Visual Studio 2010 Professional?你能粗略估计一下你可能会实施它的日期吗?

这当然很棒,而且是一个巨大的突破!我想我只能粗略地想象这将是多少工作,并且我知道你已经完全在你的极限工作了。我要感谢您迄今为止所做的出色工作,并鼓励您继续努力。

4

1 回答 1

2

如果我正确理解了您的问题,那么您将在 EF 设计器的迁移之后(即更新设计器中的模型并逐步更改数据库)。目前尚不支持此功能,我们的待办事项中有待解决,但我们没有针对特定版本的具体计划。我们需要解决的一件事是我们是否应该只集成/扩展现有的 Code First 迁移功能以与 EF 设计器一起使用,或者我们是否需要一些更专注于设计器的东西。显然情况可能会发生变化,但在现阶段,我不指望我们会在接下来的 6 个月内开始开发此功能。除此之外,这将取决于我们看到人们要求的功能......所以我会在http://data.uservoice.com上创建一个新功能并让人们对其进行投票。〜罗文

于 2012-07-16T19:54:47.377 回答