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