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,选择第一项对Code First进行反向工程:

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

在此期间进行的操作有:

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

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

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

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

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

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

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

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

图形设计器界面:

5、查看实体数据模型 XML

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

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

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

总结:

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

 
 

EF POWER TOOLS由数据库逆向CODE FIRST的更多相关文章

  1. EF Power Tools的Reverse Engineer Code First逆向生成Model时处理计算字段

    VS2013上使用EF Power Tools的Reverse Engineer Code First逆向生成Model时,没有处理计算字段.在保存实体时会出现错误. 可以通过修改Mapping.tt ...

  2. EF Power Tools 数据库逆向生成时T4模板修改

    VS2013上使用EF Power Tools的Reverse Engineer Code First逆向生成. 发现数据库中的decimal(18, 4)字段在生成的mapping类中没有精度和小数 ...

  3. ef code first transform,add ef power tools add-in,add tangible t4 editor for enhancement.

    use ef power tools, as to .edmx file,right click at view, choose generate database from model, then ...

  4. EF Power Tools

    EF Power Tools可以从数据库反向生成实体及映射文件.一般在使用EF,有Database First,Code First以及Model First.常用的是Database First和C ...

  5. EF Power Tools使用介绍

            EF Power Tools可以从数据库反向生成实体及映射文件.一般在使用EF,有Database First,Code First以及Model First.常用的是Database ...

  6. EF Power Tools参数不正确的解决方法

    在Visual Studio 2010安装了EF Power Tools Beta 3之后,希望根据本地现有数据库模型来生成基于Entity Framework Code First的代码时,经常出现 ...

  7. VS2015安装EF Power Tools

    前言 最近在研究EF觉得EF Power Tools比较强大,可以利用其特性来进行Code First模型验证等等,本以为在VS2015扩展和更新中能找到EF Power Tools,结果未找到,还得 ...

  8. Installing EF Power Tools into VS2015

    TLDR: If you don’t want to do the tasks (even though they are so easy) you can download the updated ...

  9. EF Power Tools 参数错误 HRESULT:0x80070057 (E_INVALIDARG))

    数据库名称使用数字开头,使用EF Power Tools生成映射时,会提示:“参数错误. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))”. 解 ...

随机推荐

  1. 35,000FT大气压力的问题

    原来的问题:压力在喷气客机的飞行FL350(35,000脚)大约210mmHg.这是个大气压的数量? 在每平方英寸磅? 多少帕斯卡尔? http://wenwen.sogou.com/z/q33797 ...

  2. docker study

    Author:Hyphen 同步公布在个人博客中:http://yanheven.github.io/docker-study/ 參考章宇兄的开源项目学习ABC的方法来对docker进行简单的学习与分 ...

  3. 【淡墨Unity3D Shader计划】四 热带雨林的文章: 排除、深度测试、Alpha测试和基本雾编译

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://hpw123.net/a/C__/kongzhitaichengxu/2014/1222/163.html 作者:毛星云 ...

  4. 乐趣与你rabbitMQ 源代码

    RabbitMQ API RabbitMQ Server它提供了丰富的http api. 对于列子 须要HTTP基本身份验证.默认的username/password为guest/guest. 这些返 ...

  5. 异步编程(Async和Await)的使用

    .net4.5新特性之异步编程(Async和Await)的使用 一.简介 首先来看看.net的发展中的各个阶段的特性:NET 与C# 的每个版本发布都是有一个“主题”.即:C#1.0托管代码→C#2. ...

  6. MSSQL发现第五到数据的第十

    第二十数据查询数据库,第十条数据,两起案件: 1,ID是连接的,当然这样的情况比較好查.直接SELECT就能够了.取ID大于5小于10就能够了, 这样的情况比較少. 2.ID不是连接的.假设要取第五条 ...

  7. mysql5.6.16绿色版配置、运行

    原文:mysql5.6.16绿色版配置.运行 1.从该地址http://dev.mysql.com/downloads/mysql/中选择windows的版本,选择下载. 2.将下载的压缩包解压. 3 ...

  8. JavaScript两种方法来定义一个函数

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 由一个LED闪烁问题发现的MTK的LED driver中存在的问题

    今天依据最新的需求要对LED灯的提示闪烁频率进行改动,将之前默认的2000ms改为10000ms,可是改动之后没有产生预料中的效果,而是变成了常量,百思不得其解,最后还是read the fuckin ...

  10. Linux启用/关闭触摸板脚本

    一个可以启动关闭触摸板的shell脚本 运行一次关闭,再次运行开启. [shell] #!/bin/bash ts=`synclient -l|grep TouchpadOff` ts=${ts#*= ...