使用EF 4.3代码优先迁移重新排序列

本文关键字:新排序 排序 迁移 EF 代码 使用 | 更新日期: 2023-09-27 18:30:04

在此处阅读两个演练:

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|Data3

更新类如:

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

有人知道在使用迁移时是否有指定列顺序的方法吗?

使用EF 4.3代码优先迁移重新排序列

除了创建新表并将所有数据从旧表移动到新表之外,别无选择。数据库中列的顺序并不重要——您可以根据需要使用应用程序和UI对列进行排序。

根据MS文档:

更改表中的列顺序

。。。无法使用Transact-SQL语句执行此任务