首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在数据模型类中使用uint而不是int作为主键是不是一个好主意?

在数据模型类中使用uint而不是int作为主键是不是一个好主意?
EN

Stack Overflow用户
提问于 2011-02-07 12:40:56
回答 4查看 4.7K关注 0票数 23

我们知道主键通常是正整数。

使用uint而不是int作为数据模型类中的主键是不是一个好主意?

示例

代码语言:javascript
运行
复制
public class Customer
{
   public uint CustomerId {get;set;}
   //others are omitted for the sake of simplicity.
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-07 13:12:17

对应的SQL数据类型是带符号的数字,因此我将继续使用int,以避免任何意外。

票数 12
EN

Stack Overflow用户

发布于 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个未使用的数字;)。

票数 9
EN

Stack Overflow用户

发布于 2011-02-07 14:51:31

uint不是CLS compliant,一般不建议在公共API中使用。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4918106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档