質問: 私は、EntityFrameworkを "コード第1"のアプローチで使用しています。 モデルからテーブルを生成できましたが、モデル内の順序ではなく、アルファベット順に列が追加されています。 私はこれを試した: ``` [Key, Column(Order=0)] public int MyFirstKeyProperty { get; set; } [Column(Order=1)] public int MySecondKeyProperty { get; set; } ``` しかし、それは動作していないようです。 データベースのフィールドの順序を手動で設定する方法はありますか。 私はASP.NET CoreとEF Core(SqlServer)v1.1.0を使用しています。
回答: 現在、クラスプロパティによる列の順序付けは実装されていません。列の順序付けについての長い議論があります。 列の順序#2272 **2017年7月12日現在の更新** > この問題はバックログのマイルストーンにあります。これは、2.0リリースでは発生しないことを意味します。 2.0リリース後にバックログを再評価し、その時点でこの項目を検討します。 > > **2019年6月10日更新** 問題2272はEF Core v2.1に同梱され、生成されたテーブルの列の順序をクラスのプロパティの順序と一致させます。ただし、@ lloyd-conradeが述べたように、これは最初の作成にのみ役立ちます Column属性のOrderプロパティを尊重する可能な実装を追跡するために、新しい問題#10059が作成されました。 > #2272の実装が不十分で、[Column(Order = 1)]のようなものを指定することが役立つ場合は、この問題に投票して、シナリオに関する詳細(まだリストされていない場合)を下に追加してください。 > > 「Punted for 3.0」ラベルが2019年5月10日に追加されたことに注意してください。これは、EF Core 3.0では出荷され**ない**ということです。