前言

使用过EntityFramework6的朋友应该都知道EF中的PowerTools这个工具可以帮助初学者或者开发人员快速构建一个EF的数据上下文,并且可以很直观的看到实体之间的关系。不过目前升级到EFCore后就只有命令行工具,并不那么直观。今天和大家介绍的工具也是具有同样的作用。

首先大家需要去微软的Visual Studio Marketplace下载并安装VS扩展Mego Tools,通过一系列安装过程中再次打开Visual Studio后就可以在扩展和更新对话框中找到这个扩展,说明已经安装成功。

从新项目开始

为了能更直观一点我们新建一个C#控制台(.Net Fraemwork)项目,这个大家都会的,然后通过添加项对话框可以找到名为Mego 数据上下文的项模板,如果没有在根分类中找到可以在搜索对话框中查找Mego关键字就可以出现该模板。

选择数据源

双击启动该模板后就可以进行向导界面,第一步就是要选择数据源,对于第一次使用的朋友来说是需要新建一个数据源,可以从下拉菜单中选择你需要连接数据库(即提供程序),目前该扩展支持 SQL Server、Oracle、PostgreSQL、SQLite 等八种数据库,这里我们以Oracle为例 ,建议大家给连接起一个好记的名称,以便后面再次选择。数据源设置界面如下图所示。点高级按钮可以出现右边的详细设置界面,可以设置连接的每一个参数。这个同EF的PowerTools工具是一样的。

对于非NET Core类型的项目在选好数据源之后可以设置将当前连接信息保存到App.config或者Web.config文件中,这个工具会自动识别。

选择数据库对象

选好连接点下一步后,工具会加载当前数据库所有表或视图对象,根据需要可以选择要生成的表及表中的列,并且可以做一些代码生成的设置,主要设置项目如下:

  1. 生成类型的类名及上下文属性名
  2. 生成类型的注释
  3. 生成列属性名,是否为空、注释及强制数据库类型
  4. 如果是特殊类型可以设置精度、长度等信息
  5. 当前列是否参与并发检查(这个仅对非本地数据库有用)

在下一个版本中会支持数据关系生成。

最后还可以以单复数形式生成代码。

通过以上设置后点完成即可生成如下代码。

using System;
using System.Collections.Generic;
using System.Linq;
using Caredev.Mego;
using Caredev.Mego.DataAnnotations;
using mego = Caredev.Mego.DataAnnotations;namespace ConsoleApp1
{public class Model1 : DbContext{public Model1(): base("Model1"){ }public DbSet<COUNTRy> COUNTRIES { get; set; }public DbSet<JOB> JOBS { get; set; }}[Table("COUNTRIES", Schema = "HR")]public class COUNTRy{[Key, mego.String(2, true)]public string COUNTRY_ID { get; set; }[Nullable(true), mego.String(40)]public string COUNTRY_NAME { get; set; }public decimal REGION_ID { get; set; }}[Table("JOBS", Schema = "HR")]public class JOB{[Key, mego.String(10)]public string JOB_ID { get; set; }[mego.String(35)]public string JOB_TITLE { get; set; }[Precision(6, 0)]public decimal MIN_SALARY { get; set; }[Precision(6, 0)]public decimal MAX_SALARY { get; set; }}
}

对于非NET默认支持的数据库还需要安装相应的连接提供程序,这里我们使用的是Oracle还需要安装Nuget包:Oracle.ManagedDataAccess。

然后我们就可以访问Oracle的数据库了,例如下面示例代码。

using (var db = new Model1())
{var data = db.JOBS.ToArray();
}

工具代码

该扩展的代码都已上传Github,

https://github.com/CarefreeXT/MegoTools

欢迎大家提出问题改进。

转载于:https://www.cnblogs.com/CarefreeXT/p/9039059.html

Mego(05) - Mego Tools使用教程相关推荐

  1. linux基础教程 05,Linux应用基础教程-CH05磁盘分区和LVM

    Linux应用基础教程-CH05磁盘分区和LVM (49页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 第5章 磁盘分区和 LVM主讲人 ...

  2. tools:完全教程 Aircrack-ng

    其实关于无线基础知识的内容还是挺多的,但是由于本书侧重于BT4自身工具使用的讲解,若是再仔细讲述这些外围的知识,这就好比讲述DNS工具时还要把DNS服务器的类型.工作原理及配置讲述一遍一样,哈哈,估计 ...

  3. 【2017.01.05】装系统教程

    一.制作U盘PE: 1.  进入老毛桃官网,下载制作PE的软件: 2.  安装该软件,然后其会自行下载一个600M的东西.安装过程中360或者腾讯电脑管家会提示有异常,全部同意其更改即可. 安装结束之 ...

  4. Anaconda3 2021.05(64bit)安装图文教程

    目录 little背景 安装包下载 安装 little背景 有朋友说下学期要学Python,anaconda的jupyter notebook这么方便不得不安利一下,顺手写个博客记下来.本文如有问题请 ...

  5. 康耐视Visionpro-QuickBuild Tools 使用教程

    机器视觉康耐视visionpro-计数识别 Step​1:点击打开图标 Step2:job作业初始页面 Step3:job作业逻辑

  6. Eclipse Modeling Tools环境配置 与 jMetal使用 教程

    该篇文章仅涉及 GitHub 中相关的 jMetal 官方代码(MIT License)以及其扩展使用,GitHub网址:jMetal 版本信息 jMetal 版本:5.11-SNAPSHOT Ecl ...

  7. 【Tools】Ubuntu20.04安装VMware Tools详解

    00. 目录 文章目录 00. 目录 01. VMware Tools简介 02. VMware Tools功能 03. VMware Tools安装方法一 05. VMware Tools安装方法二 ...

  8. vaadin教程_Vaadin教程

    vaadin教程 1.简介 当您是后端开发人员时,您会听到别人说您无法创建内置HTML的UI页面并且无法在CSS中设置样式而引起的痛苦. 就像成为后端开发人员一样,它具有已知的局限性,即我们可以播放和 ...

  9. javafx 教程_JavaFX,Jigsaw项目和JEP 253

    javafx 教程 因此, Java 9可能会破坏您的代码-- 如果您的项目使用JavaFX,则这尤其可能,因为许多自定义和自制控件都需要使用内部API. 借助Project Jigsaw,这些内容将 ...

最新文章

  1. 自定义Quartz超实用工具类
  2. 皮一皮:直男只想说一句,表白?是表特别白吗?
  3. Exchange Server 2016管理系列课件05.邮件转发功能
  4. JS正则表达式使用详解
  5. centos写mysql光标移到上一行_python操作mysql——使用pymysql库
  6. AcWing之找出不改变数组找到重复的数字
  7. c++ 结构体遍历_PBRT-E4.3-层次包围体(BVH)(一)
  8. 浅谈浏览器多进程与JS线程 1
  9. mac: brew的删除
  10. 计算机领域国际会议分类及排名
  11. 为金蝶K3页面增加批量导入选项(其它出库、其它入库、调拨单、生产领料、外购入库、成本调整)
  12. 发现了一个好用的艺术字体转换器,也太方便了吧
  13. opencv接受树莓派usb摄像头rtsp视频流
  14. 【sketchup 2021】草图大师的编辑工具2【路径跟随、偏移与轴、卷尺工具和尺寸、绘制参考线】
  15. python秒表游戏_如何使用Python 实现秒表功能?
  16. 小程序paho.mqtt连接微消息队列 MQTT 版
  17. Tomcat无法自动解压缩webapps下的war包
  18. 手把手带你拆解 LRU 算法
  19. Allegro 灵巧手 -硅步机器人
  20. 高校计算机教师swto分析,教师个人SWOT分析.doc

热门文章

  1. [转]2020 年最具潜力 44 个顶级开源项目,涵盖 11 类 AI 学习框架、平台(值得收藏)
  2. win10高危服务_IPv6用户危险了!Win10出现严重安全漏洞
  3. 天生对数字不敏感的人,如何提升对数据的敏感度?
  4. 数据仓库、数据集市、数据湖、数据中台到底有什么区别?
  5. 嵌入式工程师有发展前途吗?这是我看过最靠谱的回答
  6. web报表工具FineReport常见的数据集报错错误代码和解释
  7. java的trans文件大小写_文件大小写转换与后缀不变
  8. java dump 线程_Java 中怎么获取一份线程 dump 文件
  9. 精通开关电源设计第三版pdf_看漫画,学电源(一)丨线性电源与开关电源的构造...
  10. mac安装gnu make_Linux Make的使用以及命令安装详解