我正在嘗試在物體框架的幫助下進行設定,而無需處理 SQL 的代碼相關部分。
我創建了一個模型并通過包管理器控制臺添加了一個遷移,并且一切正常,它更新并創建了表。
我想問的是物體如何知道我要添加哪個遷移。
我用了:
add-migration (and put here the name of the migration file)
但我不明白的是它如何知道我的桌子需要哪種型號?
或者換句話說,如果我在進行任何遷移之前有 2 個模型,會選擇哪個模型?
如果有人可以幫助我,我將不勝感激。
提前致謝
uj5u.com熱心網友回復:
似乎您正在使用entity framework migrations并且對其作業方式感到困惑。以下是解釋:
Question: But the thing I don't understand how does it know which model I want for my table?
- 如果您查看專案檔案夾,則有目錄
Migrations. 里面全部migrations history logs寫入。當我們對資料模型進行任何更改時,EF Core 會將當前模型與舊模型的快照進行比較以確定差異,并生成遷移源檔案;可以
像任何其他源檔案一樣在專案的源代碼管理中跟蹤這些檔案。- 一旦生成了新的遷移,就可以通過各種方式將其應用于資料庫。EF Core 將所有應用的遷移記錄在一個特殊的歷史表中,讓它知道哪些遷移已經應用,哪些沒有
Question: If I would have 2 models before I did any migrations which model would get chosen?
- 如前所述,由于它會跟蹤以前的遷移歷史記錄,因此在您的檔案中
old model它會比較差異并覆寫未寫入舊檔案的最新更改。這就是它的作業原理。
希望以上解釋能相應地指導您并彌補您的困惑。你也可以在這里查看官方檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/389544.html
標籤:sql-server 实体框架核心 asp.net-core-mvc
下一篇:如何將時區轉換的時間戳插入表中?
