C# 用于创建自定义自动递增(或自动递减)标识的DataAnnotation
我要做的是创建一个具有自动递减功能的主键:C# 用于创建自定义自动递增(或自动递减)标识的DataAnnotation,c#,asp.net-mvc,asp.net-core,data-annotations,C#,Asp.net Mvc,Asp.net Core,Data Annotations,我要做的是创建一个具有自动递减功能的主键: Id BIGINT PRIMARY KEY IDENTITY(-1,-1) 我搜索了它,只能找到以下用于设置标识的DataAnnotation: [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 但这并不能满足我设置起始值和增量值的需要。如果我想增加1,从1开始,实际上我一直使用的下列公式对我有效: [Key] public long Id { get; set; } 您好
Id BIGINT PRIMARY KEY IDENTITY(-1,-1)
我搜索了它,只能找到以下用于设置标识的DataAnnotation:
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
但这并不能满足我设置起始值和增量值的需要。如果我想增加1,从1开始,实际上我一直使用的下列公式对我有效:
[Key]
public long Id { get; set; }
您好,您可以通过使用数据库初始化或迁移来实现此输出 没有直接的方法首先在代码中实现这一点。因此,要使用这些选项中的任何一个,您需要 自定义DB初始化:这是通过实现您自己的数据库初始值设定项类并从Seed方法执行所需的SQL命令来完成的(在链接文章中查找公共类MyInitializer的实现) 或自定义迁移:您可以在迁移的Up()或Down()方法中执行任何SQL命令 资料来源: 请看上面的url,询问者评论说,通过使用上述技术可以解决问题。所以希望它也能对你有用 谢谢
Karthik为什么不使用自定义数据注释验证器并在那里编写您最喜欢的逻辑?@S.Akbari我查看了注释验证器,但这只允许我创建自定义验证,我如何告诉它自动减少Id而不是增加Id?