EntityFramework代码优先:设置字段顺序

Gle*_*ter 24 c# entity-framework entity-framework-core asp.net-core asp.net-core-1.0

我正在使用EntityFramework和"代码优先"方法进行迁移.

我已经成功地从我的模型中生成了表格,但是这些列是按字母顺序添加的,而不是我模型中的顺序.

我试过这个:

[Key, Column(Order=0)]
public int MyFirstKeyProperty { get; set; }

[Column(Order=1)]
public int MySecondKeyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)

但这似乎并没有奏效.

如何手动设置数据库中字段的顺序?

我使用的是ASP.NET Core和EF Core(SqlServer)v1.1.0.

Rah*_*ate 14

目前,未按类属性排序列.这是关于列排序的长篇讨论.列排序#2272

更新时间为2017年12月7日

此问题出现在Backlog里程碑中.这意味着2.0版本不会发生这种情况.我们将在2.0版本之后重新评估积压,并在那时考虑这个项目.

  • 非常令人失望,特别是*没有计划在任何当前安排的版本中更改此功能.正确的做法是你不喜欢列顺序是编辑生成的迁移文件并根据需要移动顺序.*+1代表答案. (9认同)
  • 多谢你们!手动编辑`CreateTable`调用就可以了.惭愧它还没有得到EF Core的支持,但希望它会. (2认同)

小智 5

更新:在EF Core 2.1中,至少对于初始迁移而言,列是按照在其各自类中声明相关属性的顺序(而不是字母顺序)添加到表中的。看这里。但是请注意,对相同表执行的任何后续Entity Framework迁移都不会更改之前创建的列的列顺序。