【发布时间】:2017-05-07 03:01:07
【问题描述】:
我正在使用带有“代码优先”方法的 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。
【问题讨论】:
-
它本应在 EF Core 2.1.0 中得到修复,但它已被淘汰出发行版,并且仍处于打开状态并处于待办事项中......真是太糟糕了。 github.com/aspnet/EntityFrameworkCore/issues/11314
-
@Jess 明确一点,这是一个不同的问题。根据属性顺序对列进行排序不是 OP 所要求的。这实际上是在 v2.1 中发布的(尽管在您引用的那个问题中提到了警告);请参阅问题 #2272。 OP 询问的是使用 ColumnAttribute 的 Order 属性,不幸的是,它仍然不会在 v3.0 中发布。这两个问题很容易混淆;不过,这对您发布的内容仍然有用!
-
EF Core 5.0.6 - 试过了,但列排序仍然不起作用(代码优先)。
标签: c# entity-framework asp.net-core entity-framework-core asp.net-core-1.0