从现有数据库生成实体Pocos

时间:2015-05-18 16:17:14

标签: entity-framework-6

使用代码优先,有没有办法从现有数据库生成实体类?我得到了如何使用迁移。我了解了如何使用迁移更新数据库。我不知道的是如何从迁移之前创建的现有数据库创建模型集。我有很多桌子。

这里适当的工作流程是什么?我真的不想手工写这些。

注意:我不能使用EDMX。因此,请不要将此注册为“仅创建edmx文件”的千个问题的副本。

1 个答案:

答案 0 :(得分:1)

我正在将一个主要的遗留项目转移到使用Code First到现有数据库。 https://msdn.microsoft.com/en-us/data/jj200620.aspx。我做的第一件事是修改默认模板,以便最小化命名空间等所需的更改(我在生成它们之后将类移动到其他项目)。 https://msdn.microsoft.com/en-us/data/jj593170.aspx然后,我在相关表的小组中进行逆向工程,创建迁移,验证Up()代码中的所有内容与我的数据库匹配,注释Up()代码并更新数据库。您还可以使用-IgnoreChanges添加迁移,但我希望看到代码。过了一段时间,我使用这种技术http://cpratt.co/migrating-production-database-with-entity-framework-code-first/#at_pco=smlwn-1.0&at_si=54ad5c7b61c48943&at_ab=per-12&at_pos=0&at_tot=1将所有小迁移转换为单个迁移。

一些引用的链接提到了EF Power Tools,但我不认为我需要将它们安装到逆向工程(VS 2013,EF 6.1.2)。我确实需要为模板安装此Nuget包:https://www.nuget.org/packages/EntityFramework.CodeTemplates.CSharp/