Asp.net 如何首先在EF代码中指定非负约束

Asp.net 如何首先在EF代码中指定非负约束,asp.net,.net,entity-framework,Asp.net,.net,Entity Framework,我想在列上指定一个非负约束。我不知道该怎么办。我在谷歌上的搜索没有任何帮助 public class Price { [Key, Column(Order = 0)] public int ItemID { get; set; } [Key, Column(Order = 1)] public int ItemQty { get; set; } [DataType(DataType.Currency), Column(TypeName = "MONEY")]

我想在列上指定一个非负约束。我不知道该怎么办。我在谷歌上的搜索没有任何帮助

public class Price
{
  [Key, Column(Order = 0)]
  public int     ItemID { get; set; }
  [Key, Column(Order = 1)]
  public int     ItemQty { get; set; }
  [DataType(DataType.Currency), Column(TypeName = "MONEY")]
  public decimal ItemPrice { get; set; }
}
这里我希望ItemQty是一个正整数。我确实想过使用范围,但我不确定这是正确的方式



我最后选择了Range()。但是仍然可以接受建议。

事实上,你不能这样做。EF中没有这样的功能。这个问题已经得到了回答,你可以在链接中看到,第二个答案为你提供了最好的答案,告诉你如何以其他方式来做,这是一个很好的解决问题的方法。希望它能帮助您链接:

这需要一个
检查约束
(可能的关键字),而不仅仅是普通的DDL表类型/NULLABILITY/FK约束。使用“检查约束”我找到了-YMMV。模型第一是我的选择:)实际上,对于非负的,可以约束为未签名的服务器类型吗?(也就是说,服务器类型的指定是否可以与映射类型不同但兼容?)UNSIGNED有其自身的含义。看见