EF"模型优先":从类中创建edmx和db-table中的实体?

时间:2015-02-25 19:42:01

标签: c# entity-framework ef-code-first poco ef-model-first

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

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

我们目前正在使用EF 5.0和#34; Model First"方法(VS 2012)。 在遇到第一个问题后,我们设法为两个T4模板配置 生成DbContext派生类和POCO,以便我们 需要映射一个新的(或现有的)数据库表,我们可以做到这一点 通过右键单击VS EF设计器> "更新模型 来自数据库..."一切顺利(我们的DB有很多表 而我的EF模型并没有映射所有这些。)

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

我知道"代码第一" (或更好:"基于代码", http://blogs.msdn.com/b/adonet/archive/2014/10/21/ef7-what-does-code-first-only-really-mean.aspx) 可以做这些事情,但据我所知,那时的映射是 仅在虚拟内存中临时创建,而不是在虚拟内存中创建 edmx(这是我们需要的)。

我的一个想法是首先使用代码创建一个额外的迷你项目, 生成db表,并从中更新我的edmx 上述项目;或者有可能以某种方式 从由...生成的临时模型中写出edmx 代码第一?

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

来自亚瑟维克斯的有用文章:
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

0 个答案:

没有答案