14

私はEntityFrameworkを「コードファースト」のアプローチで、マイグレーションと共に使用しています。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を使用しています。

答えて

10

現在、クラスプロパティによる列の順序付けは実装されていません。 ここでは、列の順序について長い議論があります。 Column ordering #2272

Update as on 07/12/2017

この問題は、バックログのマイルストーンです。つまり、2.0リリースでは が実行されません。我々は、リリース2.0に続いてバックログ を再評価し、その時点でこのアイテムを検討します。

+7

について読むことができます

migrationBuilder.Sql("CREATE TABLE Properties( MyFirstKeyProperty INT NOT NULL, MySecondKeyProperty int NOT NULL, AGE INT NOT NULL, ...... ...... PRIMARY KEY (MyFirstKeyProperty) )"); 

は、特に*現在スケジュールリリースのいずれかでこれを変更する予定はありません。それを行う正しいことは、生成されたマイグレーションファイルを編集し、必要に応じて順序を移動することです。 –

+1

ありがとうございました! 'CreateTable'呼び出しを手作業で編集することはやりました。それはEFコアではまだサポートされていませんが、うまくいけばそれは残念です。 –

0

このときEFコアがそれをサポートしていないはthat.Thatのための回避策はあり.But明示的にあなたの移行操作上のSQLを指定することができ、あります。

移行でCreateTableメソッドを使用する代わりに、次のように明示的にSQLを記述する必要があります。希望どおりに注文を行うことができます。あなたは非常に残念rowanmiller's commnet here about how to sort out that issue just for now

関連する問題