如何解决EF Core Data 注释必须大于其他字段
这是生成表格的模型类。
public class Mission
{
[Key]
public string Id { get; set; }
[Range(minimum: 1,maximum: int.MaxValue)]
public int MinDayRate { get; set; }
[Range(minimum: 1,maximum: int.MaxValue)]
public int MaxDayRate { get; set; }
}
在 sql Server 中,它是: 更改表任务添加约束 CK_MaxDayRate_vs_MinDayRate 检查 (MinDayRate
如何创建数据注释 MaxDayRate 必须大于 MinDayRate,这将创建我的 sql server 示例中的约束?
解决方法
有一个数据注释[Compare]
。但是,[Compare]
检查两个属性是否相等,而不是一个大于另一个。确实存在应用各种 .NET 验证属性作为数据库检查约束的 EFCore.CheckConstraints。
更好的方法是在 OnModelCreating 中使用确切的 SQL 定义任何检查约束:
modelBuilder.Entity<MyModel>()
.HasCheckConstraint("CK_Properties_MinDayRate_MaxDayRate","[MaxDayRate] > [MinDayRate]");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。