前情提要
筆者公司其他同仁負責的專案有一個需求是,主動幫使用者的信件內容讀取,依照附件檔案中的檔案內容做不同的事情,而不用人工的方式到系統中上傳該附件檔案。這時候就該使出Reader系列文章
的時候了,前置作業可能要靠其他Infra
同仁設定好後將信件自動轉成EML檔案格式,放置於網路空間上,由EML Reader
會去讀取該路經中的EML
檔案,並做對應的事,該篇就以讀取EML
檔案格式內容為主作呈現。
筆者寫Blog
有一段時間了,去年買了自己的名字域名後,一直沒空去設定它,一直都使用github io
預設的域名,上週終於有空來設定了。筆者買很夯的.me
結尾的域名,剛好歐洲的一個小國家的代碼為me,筆者這邊買的自然就是https://eugenesu.me了。筆者這篇以整個設定到生效的過程一一介紹,若以筆者一樣使用hexo當blog生產工具,且想要將自己的github page掛上域名的,可以參考使用。
前提情要請參考[DotnetCore]泛型運用系列-Model設計篇,不過筆者還是在這邊再列一下會用到的技術觀念與套件:
EFCore
的物件時Service
去處理多個檔案,設計成泛型形式以符合各種檔案類型Attribute
: 透過Description Attribute
,註記其對應的Comlumn
欄位順序Service
掛成排程任務Method
,不要落落等塞在一個Service中,因此轉換成可以共用的Extension Method
前提情要請參考[DotnetCore]泛型運用系列-Model設計篇,不過筆者還是在這邊再列一下會用到的技術觀念與套件:
EFCore
的物件時Service
去處理多個檔案,設計成泛型形式以符合各種檔案類型Attribute
: 透過Description Attribute
,註記其對應的Comlumn
欄位順序Service
掛成排程任務Method
,不要落落等塞在一個Service中,因此轉換成可以共用的Extension Method
前提情要請參考[DotnetCore]泛型運用系列-Model設計篇,不過筆者還是在這邊再列一下會用到的技術觀念與套件:
EFCore
的物件時Service
去處理多個檔案,設計成泛型形式以符合各種檔案類型Attribute
: 透過Description Attribute
,註記其對應的Comlumn
欄位順序Service
掛成排程任務Method
,不要落落等塞在一個Service中,因此轉換成可以共用的Extension Method
筆者日前工作環境中要實作,從某個FTP
位置下載檔案,下載到檔案後將檔案內容轉成物件清單,存進資料庫中,接著這些檔案依照屬性不同,拆成四分檔案,有共同欄位,也有各自的欄位,資料表則依照最大化原則,將所有檔案欄位最大化後設計成對應的欄位,當然設計一個識別欄位:EventType
,識別是哪個檔案的資料。最後這個檔案內容轉換成資料表中的資料,要掛在排程上面做運作,筆者簡單列一下此一系列的實作需要用到的概念與套件如下:
EFCore
的物件時Service
去處理多個檔案,設計成泛型形式以符合各種檔案類型Attribute
: 透過Description Attribute
,註記其對應的Comlumn
欄位順序Service
掛成排程任務Method
,不要落落等塞在一個Service
中,因此轉換成可以共用的Extension Method
筆者這邊遇到的問題是電腦環境中有多個sdk
版本,需要指定比較舊的sdk
版本來建立專案,筆者之前剛幫公司用基礎專案時遇到3.1LTS
版本,因此有跟著升級,dotnet 5
因不是LTS版本就沒有跟著升,就坐著等dotnet 6
了。
依上述,筆者公司開發環境停留在3.1
,但因前一陣子重灌電腦,重新安裝Visual Studio 2019
後,預設安裝dotnet 5
,筆者還特地下載dotnet core 3.1 sdk
來安裝,因此環境中有兩個版本,但若沒有特別指定時,會以最新的sdk
版本對應的範本產生,最後列出筆者電腦環境的sdk
1 | dotnet --list-sdks |