EntityFramework代碼優先:設置字段順序

asp.net-core asp.net-core-1.0 c# entity-framework entity-framework-core

我正在使用EntityFramework和“代碼優先”方法進行遷移。

我已經成功地從我的模型中生成了表格,但是這些列是按字母順序添加的,而不是我模型中的順序。

我試過這個:

[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年12月7日

此問題出現在Backlog里程碑中。這意味著2.0版本不會發生這種情況。我們將在2.0版本之後重新評估積壓,並在那時考慮這個項目。


熱門答案

更新:在EF Core 2.1中,至少對於初始遷移,列按相應屬性在各自類中聲明的順序添加到表中,而不是按字母順序添加。看到這裡 。但請注意,在同一個表上執行的任何後續Entity Framework遷移都不會更改先前創建的列的列順序。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow