【问题标题】:Add-Migration Created Columns Alphabetically Asp.Net Core 2.0按字母顺序添加迁移创建的列 Asp.Net Core 2.0
【发布时间】:2017-09-18 07:20:29
【问题描述】:

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

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

[Column(Order=1)]
public int MySecondKeyProperty { get; set; }

因为我的表中有 70 个属性,有时可能会超过。我不确定它是否有效。我进行了很多搜索,只知道这是 .Net Core2.0 的问题。是真的吗? 有什么解决办法吗?谢谢。

【问题讨论】:

    标签: c# entity-framework-core asp.net-core-2.0 aspnetboilerplate


    【解决方案1】:

    不幸的是,没有 EF 对此提供支持。 click here to see the open issue about this topic.

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

    • 您可以在脚手架迁移中手动重新排序列顺序。
    • 有一个 Github 存储库以编程方式解决了这个问题。 Click here to see the EfCore.Shaman.
    • 您可以编写自己的 T-SQL 迁移

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

    【讨论】:

    • 感谢@Alper Ebicoglu,为您提供帮助。但我没有看到任何适当的解决方案有帮助。 EfCore.萨满。解决方案有点好方法。但我正在寻求可靠来源的帮助。这个问题应该有适当的解决方案,因为它是值得的问题!
    • 我陈述了所有可能的解决方案。你在 EF 官方 repo 上看到了关于这个问题的未解决问题。所以没有可靠来源的解决方案。
    • @AlperEbicoglu 更新,因为问题是closed-fixed?
    • 生成迁移后,您可以按照您想要的任何顺序重新排列列
    • @AlperEbicoglu 编辑你的答案:)
    【解决方案2】:

    大家好消息,他们正在解决这个问题

    此问题已在 2.1.0 版中修复。您可以使用每晚构建进行试用,或者等待预计本月某个时候发布的 2.1.0-preview1-final 版本More

    bricelam 于 2 月 9 日发表评论

    【讨论】:

      猜你喜欢
      • 2016-04-14
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      • 2022-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-12
      相关资源
      最近更新 更多