使用模型优先的实体框架(.NET)往返建模?

时间:2012-07-10 14:26:30

标签: entity-framework ef-code-first ef-migrations entity-framework-5 ef-model-first

我目前正在开展一个项目,我想使用实体框架 首次。我在Lerman / Miller的书中读到了很多信息, 在MSDN中,ADO.NET博客和这里有关于最近的stackoverflow 关于DbContext API和Code First Migrations的开发 自EF 4.3起可用的功能。 特别是后者真的很棒,我想知道是否在此期间 有可能做同样的工作“模型第一”居中吗?是否有可能 之后基于可视化EDMX设计器(而不是代码)进行迁移 从中创建代码和数据库?

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

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

但我提到的信息是关于Power Tools的: http://blogs.msdn.com/b/adonet/archive/2012/04/09/ef-power-tools-beta-2-available.aspx

  

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

此限制仅适用于Power Tools逆向工程师代码优先 或者它是否扩展到EDMX设计师,特别是“模型第一” 方法呢?

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

  

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

同样的问题适用于此。

目前有一种完整的往返建模方法,没有数据丢失 (代码和数据库)并保持EDMX文件可写,优先遵循 “模特第一”?

从哪个版本开始支持EF(已经或计划支持) 然后我应该定位.NET版本(4.0足够吗?)并且这将适用 Visual Studio 2010 Professional?你能粗略估计一下这个日期吗? 你可能会实现这个吗?

这当然是非常棒的,也是一个巨大的突破!我想我只能 大概想象这将是多少工作,并意识到你是完全的 已经在你的极限工作。我要感谢你迄今为止的出色工作 并鼓励你坚持下去。

1 个答案:

答案 0 :(得分:2)

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