Ned*_*ers 7 c# entity-framework-core .net-core
我有一个 EF Core 3.1 代码优先项目,其中大多数类继承自名为 BusinessObject 的公共基类。
public abstract class BusinessObject
{
[Required()]
[Column("Id", Order = 0)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Column("Comment", Order = 100)]
public string Comment { get; set; }
[Required()]
[Column("CreatedAt", Order = 101)]
public DateTimeOffset CreatedAt { get; set; } = DateTime.UtcNow;
[Required()]
[Column("CreatedByUserId", Order = 102)]
public int CreatedByUserId { get; set; }
//A few more columns....
}
[Table("MyTable", Schema = "SampleSchema")]
public class MyTable: BusinessObject
{
[Column("MyColumns1", Order = 1)]
[MaxLength(256)]
public string MyColumns1{ get; set; }
[Column("MyColumns2", Order = 2)]
[MaxLength(256)]
public string MyColumns2{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我想通过数据注释设置列的顺序,并且我希望像这样创建一个表:
实际上,迁移确实
我错过了什么?这可以通过 Fluent API 实现吗?我更喜欢数据注释以保持 DBContext 精简。
虽然这是一个旧线程,但这与我也遇到的问题完全相同,可以使用此链接中建议的代码来解决
https://github.com/premchandrasingh/EFCoreColumnOrder
这源于 git hub 上报告的问题
https://github.com/dotnet/efcore/issues/2272
建议在 core 2.0 中修复此问题,但是有一部分人表示并确认情况并非如此,从而导致使用自定义实现。
| 归档时间: |
|
| 查看次数: |
2122 次 |
| 最近记录: |