Mego(05) - Mego Tools使用教程
前言
使用过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文件中,这个工具会自动识别。
选择数据库对象
选好连接点下一步后,工具会加载当前数据库所有表或视图对象,根据需要可以选择要生成的表及表中的列,并且可以做一些代码生成的设置,主要设置项目如下:
- 生成类型的类名及上下文属性名
- 生成类型的注释
- 生成列属性名,是否为空、注释及强制数据库类型
- 如果是特殊类型可以设置精度、长度等信息
- 当前列是否参与并发检查(这个仅对非本地数据库有用)
在下一个版本中会支持数据关系生成。
最后还可以以单复数形式生成代码。
通过以上设置后点完成即可生成如下代码。
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使用教程相关推荐
- linux基础教程 05,Linux应用基础教程-CH05磁盘分区和LVM
Linux应用基础教程-CH05磁盘分区和LVM (49页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 第5章 磁盘分区和 LVM主讲人 ...
- tools:完全教程 Aircrack-ng
其实关于无线基础知识的内容还是挺多的,但是由于本书侧重于BT4自身工具使用的讲解,若是再仔细讲述这些外围的知识,这就好比讲述DNS工具时还要把DNS服务器的类型.工作原理及配置讲述一遍一样,哈哈,估计 ...
- 【2017.01.05】装系统教程
一.制作U盘PE: 1. 进入老毛桃官网,下载制作PE的软件: 2. 安装该软件,然后其会自行下载一个600M的东西.安装过程中360或者腾讯电脑管家会提示有异常,全部同意其更改即可. 安装结束之 ...
- Anaconda3 2021.05(64bit)安装图文教程
目录 little背景 安装包下载 安装 little背景 有朋友说下学期要学Python,anaconda的jupyter notebook这么方便不得不安利一下,顺手写个博客记下来.本文如有问题请 ...
- 康耐视Visionpro-QuickBuild Tools 使用教程
机器视觉康耐视visionpro-计数识别 Step1:点击打开图标 Step2:job作业初始页面 Step3:job作业逻辑
- Eclipse Modeling Tools环境配置 与 jMetal使用 教程
该篇文章仅涉及 GitHub 中相关的 jMetal 官方代码(MIT License)以及其扩展使用,GitHub网址:jMetal 版本信息 jMetal 版本:5.11-SNAPSHOT Ecl ...
- 【Tools】Ubuntu20.04安装VMware Tools详解
00. 目录 文章目录 00. 目录 01. VMware Tools简介 02. VMware Tools功能 03. VMware Tools安装方法一 05. VMware Tools安装方法二 ...
- vaadin教程_Vaadin教程
vaadin教程 1.简介 当您是后端开发人员时,您会听到别人说您无法创建内置HTML的UI页面并且无法在CSS中设置样式而引起的痛苦. 就像成为后端开发人员一样,它具有已知的局限性,即我们可以播放和 ...
- javafx 教程_JavaFX,Jigsaw项目和JEP 253
javafx 教程 因此, Java 9可能会破坏您的代码-- 如果您的项目使用JavaFX,则这尤其可能,因为许多自定义和自制控件都需要使用内部API. 借助Project Jigsaw,这些内容将 ...
最新文章
- 自定义Quartz超实用工具类
- 皮一皮:直男只想说一句,表白?是表特别白吗?
- Exchange Server 2016管理系列课件05.邮件转发功能
- JS正则表达式使用详解
- centos写mysql光标移到上一行_python操作mysql——使用pymysql库
- AcWing之找出不改变数组找到重复的数字
- c++ 结构体遍历_PBRT-E4.3-层次包围体(BVH)(一)
- 浅谈浏览器多进程与JS线程 1
- mac: brew的删除
- 计算机领域国际会议分类及排名
- 为金蝶K3页面增加批量导入选项(其它出库、其它入库、调拨单、生产领料、外购入库、成本调整)
- 发现了一个好用的艺术字体转换器,也太方便了吧
- opencv接受树莓派usb摄像头rtsp视频流
- 【sketchup 2021】草图大师的编辑工具2【路径跟随、偏移与轴、卷尺工具和尺寸、绘制参考线】
- python秒表游戏_如何使用Python 实现秒表功能?
- 小程序paho.mqtt连接微消息队列 MQTT 版
- Tomcat无法自动解压缩webapps下的war包
- 手把手带你拆解 LRU 算法
- Allegro 灵巧手 -硅步机器人
- 高校计算机教师swto分析,教师个人SWOT分析.doc
热门文章
- [转]2020 年最具潜力 44 个顶级开源项目,涵盖 11 类 AI 学习框架、平台(值得收藏)
- win10高危服务_IPv6用户危险了!Win10出现严重安全漏洞
- 天生对数字不敏感的人,如何提升对数据的敏感度?
- 数据仓库、数据集市、数据湖、数据中台到底有什么区别?
- 嵌入式工程师有发展前途吗?这是我看过最靠谱的回答
- web报表工具FineReport常见的数据集报错错误代码和解释
- java的trans文件大小写_文件大小写转换与后缀不变
- java dump 线程_Java 中怎么获取一份线程 dump 文件
- 精通开关电源设计第三版pdf_看漫画,学电源(一)丨线性电源与开关电源的构造...
- mac安装gnu make_Linux Make的使用以及命令安装详解