EKsumic's Blog

let today = new Beginning();

Click the left button to use the catalog.

OR

C# DbContext 的兩種寫法

在 .NET 和 Entity Framework Core 應用中,DbContext 有兩種常見的實現方式:標準構造函數記錄型構造函數 (Primary Constructor)。以下是它們的比較與選擇建議。


1. 標準構造函數

最常見的寫法:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
    {
    }
}

特點:

  • 可在大括號 {} 中添加初始化邏輯:

Console.WriteLine("DbContext initialized.");
  • 適合需要額外處理操作的場景。


2. 記錄型構造函數

C# 9.0 引入的簡潔語法:

public class ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : IdentityDbContext<ApplicationUser>(options)
{
}

特點:

  • 更簡潔,不需要額外定義構造函數體。

  • 適合不需要額外邏輯的簡單場景。


3. 如何選擇?

  • 選擇記錄型構造函數: 簡單初始化場景,且專案基於 C# 9.0 或更高版本。

  • 選擇標準構造函數: 複雜邏輯,或需團隊協作中保持一致性。


4. 總結

兩種寫法功能等效,選擇依需求而定。記錄型構造函數適合簡化代碼,標準構造函數則提供更多靈活性。

This article was last edited at 2025-01-20 17:12:16

* *