按字母顺序添加迁移创建的列Asp.Net Core 2.0

Sha*_*lik 5 c# entity-framework-core aspnetboilerplate asp.net-core-2.0

我在PMC中创建了一个模型并运行命令Add-Migration.它在迁移中按字母顺序创建了列.更新数据库后,sqlserver表也按字母顺序排列.我希望我在原始模型中使用的顺序与字母顺序相同.我不想这样做.

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

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

因为我在我的桌子上有70个属性,有些时候它可能超过.而且我不确定它是否有效.我搜索了很多,只知道它与.Net Core2.0有关.真的吗?有解决方案吗 谢谢.

Alp*_*glu 3

不幸的是,EF 不支持此操作。单击此处查看有关此主题的未决问题

有关该问题的解决方法可以是:

  • 您只需手动重新排序脚手架迁移中的列顺序即可。
  • 有一个 Github 存储库可以以编程方式解决这个问题。单击此处查看 EfCore.Shaman。
  • 您可以编写自己的 T-SQL 迁移

    migrationBuilder.Sql("创建表 XYZ (FirstKeyProperty INT NOT NULL, SecondKeyProperty int NOTNULL)");