这个问题是我在大约2 . 5年前已经问过的下一个问题的一部分:Entity Framework (.NET) Round-Trip Modelling with Model First?

我想问一下,在此期间,以下是可能的(以及从哪个版本的EF向上):

我们目前正在使用EF 5.0和“模型优先”方法(VS 2012) . 在第一个问题之后,我们设法配置两个T4模板来生成DbContext派生类和POCO,这样如果我们需要映射一个新的(或现有的)数据库表,我们可以通过右键单击VS EF来实现设计师>“从数据库更新模型......”一切正常(我们的DB有很多表,我的EF模型没有映射所有这些表) .

现在我们有一些其他(POCO)类尚未映射到实体(在designer / edmx中)并且我们在数据库中没有任何表 . 使用“模型优先”方法(我们到目前为止使用),是否可以生成数据库中的表模式(我们还需要生成的SQL)和designer / edmx中的实体(元数据) ? (我知道名字“模型优先”可能会说,但也许同样适用于下一节中“代码优先”的链接说:“基于edmx”应该更好吗?)

我知道"code first"(或更好:"code based",http://blogs.msdn.com/b/adonet/archive/2014/10/21/ef7-what-does-code-first-only-really-mean.aspx)可以做这些事情,但据我所知,映射只是暂时在虚拟内存中创建,而不是在edmx中创建(这就是我们需要的东西) .

我的一个想法是首先使用代码创建一个额外的迷你项目,生成数据库表,然后在上面提到的项目中更新我的edmx;或者是否有可能以某种方式从代码首先生成的临时模型中写出edmx?

如果有人知道更优雅的解决方案会很棒,
提前致谢 .

来自Arthur Vickers的有用文章:
http://blog.oneunicorn.com/2012/02/26/dont-use-code-first-by-mistake/
http://blogs.msdn.com/b/adonet/archive/2011/03/07/when-is-code-first-not-code-first.aspx

以下SO线程也是很好的匹配,但也有些旧(EF 4):
Using EF4 migration tool with model-first approach
Entity Framework 4.1 Code First EDMX issue