前情提要
上篇[DotnetCore]ORM系列-Chloe:入門篇介紹Chloe
的使用方式,這篇主要繼續探討,Chloe
提供哪些Select相關的Method,跟著筆者一起看下去。跟著Chloe github的wiki針對筆者之前建立的範例資料庫做一個應用吧。
上篇[DotnetCore]ORM系列-Chloe:入門篇介紹Chloe
的使用方式,這篇主要繼續探討,Chloe
提供哪些Select相關的Method,跟著筆者一起看下去。跟著Chloe github的wiki針對筆者之前建立的範例資料庫做一個應用吧。
筆者工作環境中開發ASP.NET CORE Web API
,資料庫存取部份,會交叉使用EF Core
以及Dapper
,筆者單位共同認知的切分方式為若單個資料表的CRUD操作,就使用EF Core
,若複雜的查詢,或者呼叫Store Procedure等會使用Dapper完成操作。單個資料表的CRUD
,基本上透過EF Core
可以說是輕而易舉,會遇到一個問題是資料表共同欄位,類似於CreatedDate, CreatedBy, UpdatedDate, UpdatedBy
這種紀錄變更者及變更時間部份,若寫在每一個Service
中會顯得有點多餘,且沒有效率,擴充性也不好,假設現在要改變CreatedDate, UpdatedDate
的時間原本由Local Time
改為UTC Time
,其不就是要在每個Service中做修正。
Reader系列來到pdf格式檔案了,筆者這邊使用Pdfbox移植的C# Library:PdfPig,讀取部份,看github的readme的教學基本上就滿簡單的,只有讀取一個pdf檔案會很無趣,想了一下應用點,筆者公司銀行有規定新人要考過一些金融業基礎的證照考試取得證照,例: 金融市場常識與職業道德,想到一個有趣的應用,基本上都有考古題下載下來做練習,可以利用PdfPig套件讀取pdf檔案後解析題目與選項及答案,一旦取得這些資料,利用擅長的前端架構做一個頁面,後端則利用這些資料做一個隨機出題的API,就可以完成考古題測驗Application了,筆者這篇主要做到讀取及解析的作業及取得有結構化的資料。
由前兩篇的議題延續下去,參考[DotnetCore]FTP-下載上傳、[DotnetCore]SFTP-下載上傳,因為同樣都是實作IFtpService
,同一個專案皆有使用到Ftp及SFtp則會面臨到此篇要解決的問題,該如何分辨要採用哪種實作的下載、上傳,有哪些方法可以解決,由筆者我來細說吧,主要參考 國外文章 :佛心的整理了五種不同的解決方式。
筆者所處環境為金融業,所在的科別屬寫週邊的應用系統,開發的每個系統多多少少都需要與別的系統串接,常見的有核心
、外匯
、通路科
等等。如[DotnetCore]Socket程式實作那篇所提,因為通常核心系統
環境比較特殊,相對應的串接方式,偏Socket或者交換檔案這類的傳統型居多。這篇主要以FTP
交換檔案為主介紹其作法,筆者會再寫兩篇相關的文章,請拭目以待。
筆者這篇就延續Reader系列,這次介紹Excel檔案讀取的實作,Excel讀寫套件百百種,有名的就那幾個,ExcelDataReader、NPOI、CloseXML等等。筆者這篇主要使用ExcelDataReader上面再包一層的ExcelMapper,主要是簡單易用,有強型別的Binding,一般讀取來說已足夠。