C#
EFCore
使EF enum類別儲存時轉換為字串對應方式,使資料庫查詢方便檢視。
要說明之前我們先預設實體類別的定義
以下範例資料庫對象為MySql
[Table("game_platform")]
public class GamePlatform
{
[Key]
[Column("id")]
public int Id { get; set; }
[Column("platform")]
public PlatformType Platform { get; set; }
}
其列舉如下
public enum PlatformType
{
Steam,
Ubisoft,
Epic,
GOG
}
我們希望列舉儲存後不在是數值方式存放而是字串(ex.Ubisoft、Steam),這邊我們選擇在OnModelCreating
中設定好我們想要轉換
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<GamePlatform>()
.Property(x => x.Platform)
.HasConversion(
new EnumToStringConverter<PlatformType>()
);
}
設定完成即可在儲存/撈取時自動轉換成對應的字串/列舉,前往資料庫查詢資料時也就不會是顯示0、1、2…這類的數字。
這邊只是單純紀錄有再專案上使用的方式,其轉換做法還有種有興趣的人可至參考連結查看。
相關參考來源:
Microsoft
學習目標 透過VsCode套件Remote-SSH如何連接到Linux。 目錄 [TOC] 一、前言 在測試Oracle Cloud的時候有提供免費方案可以架設VPS,剛好藉此機會來玩一下透過VsCode要如何SSH遠端,單純使用SSH遠端的方式有很多種,之前在工作中往往都是透過Putty+WinSCP來完成相關需求,這次只是單純想要試試不同的工具看看有沒有新的發現。 二、基本設定
Nov 11, 2022學習目的 延續透過 Docker 建立 JenkinsAgent後續的學習,在完成Jenkins Node的佈局後,接下來學習如何取得建置完成的產物。 目錄 [TOC] 一、前言 在專案建置完成後如果想要取得對應的產出物,透過master和agent要如何取得檔案,方法有很多種這邊選擇一個較簡易上手的方式,當然如果建置環境本身不是隨機銷毀的(指定docker image運行後關閉),也可以直接訪問環境來取得檔案。 二、實作步驟
Oct 14, 2022介紹 npm為現今最熱門的套件管理系統,在運行時會需要安裝Node.js。延續上一篇透過 Docker 建立 Jenkins完成後,接著我們想要再作業上操作npm相關指令,此篇就是來說明如何在Jenkins上運行。 目錄 [TOC] 一、前言 這邊會直接再所建立的Jenkins(master node)上操作,不過實際運作上建議再建立一個agent node下去執行,主要理由為安全性問題詳情可以參考文章,接著直接進入實作環節。 二、套件安裝
Oct 14, 2022介紹 Jenkins提供建置、部屬及自動化等操作,算是可以滿足各種不同的需求,也是一個非常老牌的CI/CD工具。 目錄 [TOC] 一、前言 在專案上在很多平台上使用CI/CD的操作,但唯獨沒有機會接觸到Jenkins,最近剛好比較有空花一點時間來了解一下,希望以後可以變成自己的使用工具。 二、使用Docker 建立
Oct 14, 2022or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up