前言

距离上一篇文章《基于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. 使用Dockerfile文件制作centos6.8基础镜像,基于centos基础镜像的ssh远程登录镜像,jdk1.8镜像,tomcat镜像,elasticsearch镜像等等

    一.首先制作一个centos6.8的裸机镜像 创建一个干净的目录: [root@docker centos6.]# ls c68-docker.tar.xz Dockerfile Dockerfile ...

  2. HDU 1565 - 方格取数(1) - [状压DP][网络流 - 最大点权独立集和最小点权覆盖集]

    题目链接:https://cn.vjudge.net/problem/HDU-1565 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32 ...

  3. SQL Fundamentals: 分组统计查询(FROM-WHERE-GROUPBY-HAVING-SELECT-ORDER BY)

    SQL Fundamentals || Oracle SQL语言 统计函数 单字段分组统计(GROUP BY) 多字段分组统计 HAVING子句 控制操作的显示列:基本的SELECT语句 控制行:限定 ...

  4. POJ - 1054 The Troublesome Frog 模拟 枚举优化。

    题意:有个R*C的格网.上面有若干个点,这些点可以连成一些直线,满足:这些点在直线上均匀排布(也就是间隔相等),直线的两段穿过网格(也就是第一个,最后一个在网格的边界附近) 求某条直线上最多的点数 题 ...

  5. models语言中filter和all取数据有什么区别

    转自:http://www.bubuko.com/infodetail-1882394.html rs=Person.objects.all() all返回的是QuerySet对象,程序并没有真的在数 ...

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

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

  7. sql批量修改wordpress网站的文章发布状态

    wordpress批量导入文章的时候,有些文章的状态可能会缺失,例如“mis scheduled”.draft.future等几种状态,如何用sql批量修改wordpress网站的文章发布状态呢? 点 ...

  8. 用Servlet获取表单数据

    用Servlet获取表单数据 在webroot下新建userRegist2.jsp 代码如下: <%@ page contentType="text/html;charset=gb23 ...

  9. python 一个.py文件如何调用另一个.py文件中的类和函数

    原文地址https://blog.csdn.net/winycg/article/details/78512300 在同一个文件夹下 调用函数:

  10. DNS解析原理和流程

    DNS解析原理和流程   DNS解析其实就是将IP地址(202.96.134.133)变成域名(www.xxxxx.com)   网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所 ...