在 Entity Framework 中引入 Code First 的做法已经获得了很多赞誉。尽管这项技术未来还有很长的路要走,但是它已经动摇了 ORM、nHibernate 的统治地位,微软所做出的进展非常惊人。为了保持这种势头,微软发布了一系列强大的工具,它们能够获取现存数据库的信息,并创建 Code First 的代码。
乍一看,微软提供的这种方式很奇怪,它会对数据库进行反向工程,生成 code-first 模型。但在这背后确实包含不少有用的想法。第一种想法仅仅是具有教育意义。和之前版本的 Entity Framework 中设计者驱动的工作流不同,Code First 不会告诉你应该如何开始,而只是让你一切从头。开发者可以先创建一部分数据库,甚至只是玩具式的项目,然后可以使用这种工具,看相匹配的 Entity Framework 类会是什么样子。从那里他们可以构建出其余类,然后生成完整的数据库模式。
另一个有趣的主意在于你把这与第三方数据库和提供商组合起来的时候。例如,你可以使用它来对 SQL Server 数据库进行反向工程,然后使用 Devart 的 dotConnect 库在 Oracle、MySQL、PostgreSQL 或者 SQLite 中重新生成。
当前微软只在 EF Power Tools CTP1 中提供了反向工程工具。当前它只是一个预览版,因此只支持 SQL Server 和 C#。想要安装的话,你可以从Visual Studio Gallery 中下载。另外,你还需要安装使用NuGet 的EF 4.1 。
评论