前言

距离上一篇文章《基于EF Core的Code First模式的DotNetCore快速开发框架》已过去大半个年头,时光荏苒,岁月如梭。。。比较尴尬的是,在这大半个年头里,除了日常带娃溜娃做饭,偶尔接几个私单外,个人开源项目几乎没啥动静。那么日常工作干些什么呢?肯定是坚守Nfx啊。。。为什么呢?不做Nfx那是不可能的,毕竟要吃饭...讲真,大山城作为新进一线网红大城市环境,dotneter们活得非常坚挺的,眼看又一波猛涨的房价和这危机年,还是默默加完班后夜跑几十公里,锻炼好身体,多做几单深夜兼职,兴许运气来了能碰一个少奋斗20年的捷径...前提是得做好各种滴水不漏的安全措施以防止猝死暴毙...

至于多坑还是坑多,早已傻傻分不清,坊间谣传民间大神的【重庆求职防坑手册】早已被喷的不能自已,甚至已经下架

契机

前不久,科技巨头微软粑粑发布了dotnetcore 2.1,以其一贯的尿性作风,应该可以上车了。然而我还在坚守Nfx,毕竟公司成熟平台成熟产品以及成熟人力结构,冒然大跃进是肯定要承担各种被扣帽子风险的。虽然明面上上车无望,私下勾搭还是有戏。前些时日,接到道友们热情诚挚的需求,添加对DB First的支持,懒人有懒福...

更新内容

Gayhub地址:https://github.com/VictorTzeng/Zxw.Framework.NetCore
 
具体更新内容,大大小小还是有点多,这里就不啰嗦正经的话,具体情况具体代码里见。
  1. 添加EFCore直接返回DataTable功能
  2. DBFirst功能,目前仅支持SQL Server、MySQL、NpgSQL三种数据库。根据已存在的数据表直接生成实体代码,详见CodeGenerator
  3. 添加单元测试项目,并完成对以上两点新功能的测试
  4. 引入IOC容器Aspectcore.Injector,详见AspectCoreContainer.cs

手拿来,手把手摸你

目前仅支持Sqlserver、MySQL、NpgSQL等三种数据库,具体用法如下:

  1. 注入DbContextOption
  2.              services.Configure<DbContextOption>(options =>
    {
    options.ConnectionString =
    "User ID=zengxw;Password=123456;Host=localhost;Port=5432;Database=ZxwPgDemo;Pooling=true;";
    });
    services.AddScoped<IDbContextCore, PostgreSQLDbContext>(); //注入EF上下文

    注入CodeGenerateOption

  3.              services.Configure<CodeGenerateOption>(options =>
    {
    options.OutputPath = "F:\\Test\\PostgreSQL";
    options.ModelsNamespace = "Zxw.Framework.Website.Models";
    options.IRepositoriesNamespace = "Zxw.Framework.Website.IRepositories";
    options.RepositoriesNamespace = "Zxw.Framework.Website.Repositories";
    options.ControllersNamespace = "Zxw.Framework.Website.Controllers";
    });

    调用GenerateAllCodesFromDatabase生成所有代码

 CodeGenerator.GenerateAllCodesFromDatabase(true);

总结与计划

工作之余,多陪家人多陪孩子,多读书多看报,多锻炼身体,毕竟钱是挣不完的。。。如果各位道友有多的可以全都扔过来,哈哈哈
 
关于计划,不过于长期坚持下去,比如近期打算重写支付模块和引入企业微信。
 
另外,如果有私单合作或者商务合作,又或者优质岗位推荐,24小时全天全月全年随时欢迎留言或者私信~~

【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持的更多相关文章

  1. 基于EF Core的Code First模式的DotNetCore快速开发框架

    前言 最近接了几个小单子,因为是小单子,项目规模都比较小,业务相对来说,也比较简单.所以在选择架构的时候,考虑到效率方面的因素,就采取了asp.net+entity framework中的code f ...

  2. C# 嵌入dll 动软代码生成器基础使用 系统缓存全解析 .NET开发中的事务处理大比拼 C#之数据类型学习 【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持 基于EF Core的Code First模式的DotNetCore快速开发框架 【懒人有道】在asp.net core中实现程序集注入

    C# 嵌入dll   在很多时候我们在生成C#exe文件时,如果在工程里调用了dll文件时,那么如果不加以处理的话在生成的exe文件运行时需要连同这个dll一起转移,相比于一个单独干净的exe,这种形 ...

  3. EF Core 的 Code First 模式

    0 前言 本文正文第一节,会对 Code First 进行基本的介绍,以及对相关名词进行说明,读者一开始可以不用在这里消耗过多时间,可以先操作一遍例子,再回过头理解. 第二节,以一个简单的例子,展示 ...

  4. EF Core学习Code First

    下面通过实例来学习EF Core Code First,也就是通过EF Core迁移来完成从模型生成数据库. 本实例使用EntityFrameworkCore SQLite 数据库进行介绍,大家也可以 ...

  5. EF Core的Code First 基础

    一.创建实体类与映射类 通过NuGet引用Microsoft.EntityFrameworkCore 1.创建实体类 Code First可以通过为实体类字段添加相应特性,来创建对应的字段类型等,举例 ...

  6. .net Core 基于EF Core 实现数据库上下文

    在做项目时,需要将某一些功能的实体建立在另一个数据库中,连接不同的数据库用以存储记录.通过查找资料,实现EF Core上下文. 下面是实现上下文后的解决方案的目录: 1.UpAndDownDbCont ...

  7. 基于DotNet Core的RPC框架(一) DotBPE.RPC快速开始

    0x00 简介 DotBPE.RPC是一款基于dotnet core编写的RPC框架,而它的爸爸DotBPE,目标是实现一个开箱即用的微服务框架,但是它还差点意思,还仅仅在构思和尝试的阶段.但不管怎么 ...

  8. 基于现有数据库的Code First模式迁移更新数据库

    本文讨论的内容是基于EF4.1版本.文中谈论的现有的数据库不是由EF创建.本文假定你已经对Code First迁移有一定的了解,如果不了解Code First迁移更新数据库可以查看 文章涉及的主题如下 ...

  9. EF 下的code fist 模式编程

    EF 分两种模式 codefirst(就是不知道数据是啥,也没有数据库)  和 database fist (数据已经设计好了) 首先打开vs  新建一个项目 创建一个控制台程序 然后 新建一个Tea ...

随机推荐

  1. Java -- 给定一个int数组,拼接出最大数值

    public class ZhiJieTiaoDong { /* 给定一个数组:组合成最大数值 */ public String szpj(int[] args){ if(null == args | ...

  2. vue报错 Module not found: Error: Cannot resolve 'file' or 'directory'

    炸了,我好写sell而组件,直接就用了,我的天哪 看你的写了吗,就用: Module not found: Error: Cannot resolve 'file' or 'directory' 页另 ...

  3. codeforces 14A - Letter & codeforces 859B - Lazy Security Guard - [周赛水题]

    就像title说的,是昨天(2017/9/17)周赛的两道水题…… 题目链接:http://codeforces.com/problemset/problem/14/A time limit per ...

  4. 添加用户username到sudo组

    添加用户username到sudo组: usermod -aG sudo username USERMOD(8) 系统管理命令 USERMOD(8) 名 usermod - 修改一个用户账户 大 us ...

  5. 2018/03/25 每日一个Linux命令 之 df

    Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计. 就像在windows下打开我的电脑一样会统计各个磁盘一样的情况 主要用于查看磁盘空间占用情况 -- [@hong:~] ...

  6. A Simple Problem with Integers---poj3468线段树

    http://poj.org/problem?id=3468   题意:有一个比较长的区间可能是100000.长度, 每个点都有一个值(值还比较大), 现在有一些操作: C a b c, 把区间a-- ...

  7. 【pyqt5】QdateTimeEdit(日期时间)

    返回当前日期和时间设置 from PyQt5 import QtCore, QtWidgets class Ui_Dialog(object): def setupUi(self, Dialog): ...

  8. 【Jason】Jason拓展

      Java-script是最基础语言(即前端脚本),而jquery是基于javascript封装出来的包,这些包里面含有能调用ajax的方法. ajax是一种异步交互,局部刷新的一种形式,是一种通讯 ...

  9. 在ios上时间无法parse返回 "Invalid Date"

    百度搜索:" ios 上面 new date" 关键字 BUG 描述直接上原码 var psrseDate = Date.parse("2010-03-15 10:30: ...

  10. [LeetCode] 256. Paint House_Easy tag: Dynamic Programming

    There are a row of n houses, each house can be painted with one of the three colors: red, blue or gr ...