[英]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
來播種初始數據。 這是在DbContext
的OnModelCreating
方法中實現的。 每當種子數據發生任何變化時,我都會用新的遷移來解決這個問題。
注意:我在 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.