0

這裏既讀取演練:重新排序列與EF 4.3代碼優先遷移

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx

我無法找到一個方法來指定列的SQL數據表中的順序。看起來最後添加的屬性總是映射到最後一列。

例子:

public class SampleData { 
    public int Id { get; set; } 
    public string Data2 { get; set; } 
    public string Data3 { get; set; } 
} 

將創建一個表列的順序:

ID | Data2 |數據3

更新類,如:

public class SampleData { 
    public int Id { get; set; } 
    public string Data1 { get; set; } 
    public string Data2 { get; set; } 
    public string Data3 { get; set; } 
} 

然後運行更新將更新表分爲:

ID | Data2 | Data3 | Data1

任何人都知道在使用遷移時是否有指定列順序的方法?

+0

你擔心什麼情況?使用較小的增量遷移。您可以嘗試手動編輯遷移,也可以嘗試Update-Database -script來查看究竟發生了什麼。或者手動映射列,在這種情況下,我認爲您可以根據需要訂購它們(未經確認)。會有那樣的工作嗎?我不完全遵循@拉迪斯拉夫提到的'需求'。從早期開始,訂購就成了'問題',因爲這不是我認爲的優先事項。 – NSGaga 2012-04-05 16:36:23

回答

1

除了創建新表和將舊錶中的所有數據移動到新表之外,沒有其他辦法。數據庫中列的順序並不重要 - 您可以根據需要使用應用程序和UI來訂購列。

+0

這是一個簡單的數據庫,我計劃使用SQL Management Studio手動編輯條目,這就是訂單對我來說很重要的原因。你有多確定這是不可能的?無論如何,如果我沒有得到另一個2天的答案,接受你的。 – user974608 2012-04-04 15:40:40