簡體   English   中英

EF Core 6.0 onModelCreating 在運行 ASP.NET Core Application 時運行(遷移之外)

[英]EF Core 6.0 onModelCreating running when running ASP.NET Core Application (outside the Migration)

我有一個使用 .NET 6.0.7 在 ASP.NET 核心中編寫的應用程序。 我已經生成了遷移,並使用database-update手動將它們應用於數據庫 - 或者對於生產,我們使用ef bundle來更新數據庫。

這就是說我正在使用HasData來播種初始數據。 這是在DbContextOnModelCreating方法中實現的。 每當種子數據發生任何變化時,我都會用新的遷移來解決這個問題。

注意:我在 ASP.NET 核心 Web API 代碼的program.cs中沒有任何遷移代碼,但似乎在調試期間(和 WHY?生產), OnModelCreating

在啟動OnModelCreating時,在調試或生產中應該沒有理由運行 OnModelCreating。 這是 EF Core 中的錯誤嗎? 還是我真的錯過了什么?

OnModelCreating應該每次都運行,這是正常的。

在 EF Core 中,作為 model 配置的一部分,種子數據可以與實體類型相關聯。 然后 EF Core 遷移可以自動計算在將數據庫升級到 model 的新版本時需要應用哪些插入、更新或刪除操作。

如果您希望遷移管理對其應用更改,則應僅使用HasData ,否則只需在需要時使用SaveChanges將其添加到數據庫中。

有關更多詳細信息,請參閱創建和配置 model數據播種

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM