這是一個有關asp.net mvc 5中代碼優先遷移的稍微奇怪的問題。我有一個正在進行的項目,我使用手動遷移來更新我的數據庫。如果我做任何事情,在我的模型改變了數據庫結構,然後我進入包管理器控制檯,然後輸入我可以在ASP.NET MVC中重命名代碼優先遷移5
add-migration "MigrationName"
但一路走來,我已經叫我的兩個遷移錯了名字的。我想更正每個名稱,但是我想確保這不會影響它們的完整性,我只打算重命名文件名的第二部分(描述性部分)而不是時間戳。
比如我有以下名字:
201411190809335_CreateStageTypeRender
但它應該已經閱讀
201411190809335_CreateSeatingTypeRender
,如果我沒有在未來,現在改名字,我可能目標因爲我將其命名爲錯誤,因此意外移民。
看來,如果在它不是一個重要項目的情況下,我將它們重命名過,那個視覺工作室就會重命名任何子文件(.cs,.resx)。所以看起來這不會是一個問題,再加上時間戳會保持同步,以便讓它們保持有序。
問:還有什麼我應該考慮的。重命名遷移文件名的描述部分可以嗎?
BTW ..我也可以去Designer.cs文件中,並從命名獲取返回值:
public sealed partial class CreateStageTypeRender : IMigrationMetadata
private readonly ResourceManager Resources = new ResourceManager(typeof(CreateStageTypeRender));
string IMigrationMetadata.Id
{
get { return "201411190809335_CreateStageTypeRender"; }
}
到
public sealed partial class CreateSeatingTypeRender : IMigrationMetadata
private readonly ResourceManager Resources = new ResourceManager(typeof(CreateSeatingTypeRender));
string IMigrationMetadata.Id
{
get { return "201411190809335_CreateSeatingTypeRender"; }
}
最後,我已經進入了數據庫,並更名與舊遷移名稱相對應的記錄,並將其更改爲反映新遷移名稱。否則,我認爲EF/Visual Studio會認爲有沒有新的遷移。
我想我已經覆蓋了所有的基地。如果您認爲我錯過了任何東西,或者由於某種原因這不是一個好主意,請告訴我。
你有過這種技術的任何問題,因爲你第一次嘗試過嗎? – madamission 2015-07-19 12:31:52
但是我沒有遇到任何問題,我也從未針對這些遷移。我認爲最終的測試將是開始一個新項目,快速設置數據庫並進行一些遷移,然後返回並手動重命名它們,進行更多遷移和更新,然後嘗試回滾到其中一個重命名的遷移。那怎麼樣,我們哪個人可以先找到時間來做這件事,回到這裏並留下評論。地獄,如果你這樣做,你可以回答這個問題。 – 2015-07-20 13:28:59
ok聽起來不錯,我會給它一個鏡頭... – madamission 2015-07-20 17:43:59