EF Power Tools由数据库逆向Code First

前言

  利用db first的开发方式有很多可供选择的方案,一种可以用ado.net实体框架模型,由向导直接生成edmx,并生成数据库上下文,持久化类,这是一种方案,其次使用t4模板代码生成器生成上下文及实体类,本文使用Visual Studio 库中EF Power Tools根据现有数据库,生成 POCO 类、映射(配置)类和 DbContext 派生类,来实现code first开发。

准备工具:

vs2010或者vs2012

EF PowerTools插件,下载地址:http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/

一个现有的数据库

创建应用程序:

1、下载EF PowerTools并安装

2、创建一个控制台测试程序,

3、对数据库反向生成code first

  安装插件完成以后,在项目解决方案管理器右键,选择Entity Framework,会看到该插件提供的两种方式,1、对 Code First 进行反向工程,2、自定义反向工程模板

EF Power Tools由数据库逆向Code First_第1张图片

 

右键选择EF,选择第一项对Code First进行反向工程:

EF Power Tools由数据库逆向Code First_第2张图片

选择服务器及需要反向的数据库信息,确定以后自动生成 POCO 类、映射(配置)类和 DbContext 派生类,同时可以在 Visual Studio 的状态栏中看到反向工程过程的进度。过程完成后,会对项目进行以下更新。

在此期间进行的操作有:

使用连接字符串更新配置文件 (.config)

在项目中添加对 EntityFramework NuGet 包的引用

模型文件夹下生成 DbContext 派生类和一组 POCO 类。此外,还会在嵌套在模型文件夹下的映射文件夹下生成映射类。 

EF Power Tools由数据库逆向Code First_第3张图片

注意:这将对数据库中的所有表进行反向工程,因此如果不希望操作所有表,需要从模型中手动删除不需要的表。

在初始代码生成覆盖以前生成的文件后,重新运行此命令。

如果您对生成这些类的方式不完全满意,可以在生成这些类后对其进行编辑,或者使用“自定义反向工程模板”命令,本文不做介绍。

4、只读方式查看实体数据模型(View Entity Data Model)

反向的项目也可以查看EF图形设计器件生成的图形实体模型,如下图操作:

EF Power Tools由数据库逆向Code First_第4张图片

图形设计器界面:

EF Power Tools由数据库逆向Code First_第5张图片

5、查看实体数据模型 XML

方式同上,使用此选项可以查看表示基础 Code First 模型的 EDMX XML。使用此选项的机会不会很多。偶尔在调试某些 Code First 问题时可能需要使用它。

6、查看实体数据模型 DDL SQL

使用此选项可以查看与基础 EDM 模型中的 SSDL 相对应的 DDL SQL 脚本。当您要查看将由模型生成的表和列时,可能需要使用此选项。

总结:

  本文只是初探,此种方式在使用中的问题目前本人还未碰到,在数据库存在的情况下进行code first开发不妨试试这种解决方案,文中示例随手一些,有问题欢迎大家一块探讨。

你可能感兴趣的:(tools)