【基於EF Core的Code First模式的DotNetCore快速開發框架】完成對DB First代碼生成的支持


前言

距離上一篇文章 《基於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. 1             services.Configure<DbContextOption>(options =>
    2             {
    3                 options.ConnectionString =
    4                     "User ID=zengxw;Password=123456;Host=localhost;Port=5432;Database=ZxwPgDemo;Pooling=true;";
    5             });
    6             services.AddScoped<IDbContextCore, PostgreSQLDbContext>(); //注入EF上下文
    View Code

    注入CodeGenerateOption

  3. 1             services.Configure<CodeGenerateOption>(options =>
    2             {
    3                 options.OutputPath = "F:\\Test\\PostgreSQL";
    4                 options.ModelsNamespace = "Zxw.Framework.Website.Models";
    5                 options.IRepositoriesNamespace = "Zxw.Framework.Website.IRepositories";
    6                 options.RepositoriesNamespace = "Zxw.Framework.Website.Repositories";
    7                 options.ControllersNamespace = "Zxw.Framework.Website.Controllers";
    8             });
    View Code

    調用GenerateAllCodesFromDatabase生成所有代碼

1 CodeGenerator.GenerateAllCodesFromDatabase(true);

 

總結與計划

工作之余,多陪家人多陪孩子,多讀書多看報,多鍛煉身體,畢竟錢是掙不完的。。。如果各位道友有多的可以全都扔過來,哈哈哈
 
關於計划,不過於長期堅持下去,比如近期打算重寫支付模塊和引入企業微信。
 
另外,如果有私單合作或者商務合作,又或者優質崗位推薦,24小時全天全月全年隨時歡迎留言或者私信~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM