EntityFramework Column[Order] 未覆盖

发布于 2025-01-10 02:21:35 字数 865 浏览 4 评论 0原文

我有一个模型

    public class Category
    {
        [Key]
        [Column(Order = 0)]
        public int Id { get; set; }

        [Required]
        [Column(Order = 1, TypeName = "NVARCHAR")]
        [StringLength(100)]
        public string? Name { get; set; } 

        [DisplayName("Display Order")]
        [Column(Order = 3)]
        public int DisplayOrder { get; set; }

        
        [Column(Order = 2, TypeName = "SMALLDATETIME")]
        public DateTime CreatedDateTime { get; set; } = DateTime.Now;
      

    }

当我在模型中使用 TypeName 和 StringLength 属性时,

PMC > add-migration NewMigration
PMC > update-database 

这会覆盖 SQL Server 中的数据类型。

但是当我尝试更改模型内的 [Column(Order = ?)] 属性时,它并没有覆盖。 在我删除 SQL Server 内的项目和数据库中的迁移并再次运行这些命令后,它工作得很好。

我想覆盖数据库列顺序而不删除项目数据文件夹和数据库。

谢谢你的帮助。

I have a model

    public class Category
    {
        [Key]
        [Column(Order = 0)]
        public int Id { get; set; }

        [Required]
        [Column(Order = 1, TypeName = "NVARCHAR")]
        [StringLength(100)]
        public string? Name { get; set; } 

        [DisplayName("Display Order")]
        [Column(Order = 3)]
        public int DisplayOrder { get; set; }

        
        [Column(Order = 2, TypeName = "SMALLDATETIME")]
        public DateTime CreatedDateTime { get; set; } = DateTime.Now;
      

    }

When i use TypeName and StringLength properties inside Model

PMC > add-migration NewMigration
PMC > update-database 

This overrides DataTypes inside SQL Server.

But when i try to change [Column(Order = ?)] property inside my model it is not overriding.
After i delete migrations in Project and Database inside SQL Server and run those commands again it works perfectly.

I want to override Database column orders without deleting Project Data folder and DB.

Thank you for help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文