我们知道主键通常是正整数。
使用uint而不是int作为数据模型类中的主键是不是一个好主意?
示例
public class Customer
{
public uint CustomerId {get;set;}
//others are omitted for the sake of simplicity.
}发布于 2011-02-07 13:12:17
对应的SQL数据类型是带符号的数字,因此我将继续使用int,以避免任何意外。
发布于 2015-02-13 05:36:59
以防其他人遇到这个问题--不要使用uint作为你的钥匙。我刚刚在Entity Framework6.1.12中尝试过,代码总是失败,并出现隐秘的"Entity‘s key key“异常。
只有在我将uint属性改回int后,它才能正常工作。
所以,是的,有2+十亿范围未使用是很糟糕的,但事情就是这样。如果你有一点点怀疑,你最终可能会有超过十亿的记录,那就用long吧。具有讽刺意味的是,您将有9,223,372,036,854,775,808个未使用的数字;)。
发布于 2011-02-07 14:51:31
uint不是CLS compliant,一般不建议在公共API中使用。
https://stackoverflow.com/questions/4918106
复制相似问题