ASP.NET MVC Model id类型---最佳实践

时间:2012-07-25 06:40:28

标签: asp.net-mvc model

简单的问题。我有几个不同的模型存储在SQL数据库中。带有字节数据的图像记录表,大型多字段用户数据表等。所有这些型号都需要主键。大多数初学者教程都显示了int用于int的用法。这是标准和专业。我觉得开始使用int很奇怪,因为它的长度是可变的,并以1:S

开头

对不起业余的问题,但我找不到任何关于此主题的足够材料通过谷歌。

4 个答案:

答案 0 :(得分:1)

使用INT或任何其他integral data type作为主键或标识列没有任何隐含的不专业。这取决于您的业务需求。为了保持编程as simple as possibleINT数据类型是满足许多业务需求的不错选择:

  • 它能够代表大约21亿条独特记录。
  • 它在现代硬件中消耗最少的硬盘空间。
  • SELECTUPDATE s。
  • 的速度很快
  • 如果记录数量有可能超过限制,则重构到更大的积分是相当容易的。 BIGINT可以处理比您可以放入数据库的记录更多的记录。严重。

您可能想要使用完整主键的一个原因:

  • 您可以使用Guid(或SQL Server术语中的UNIQUEIDENTIFIER)来获取全局唯一性。换句话说,如果您将数据迁移到其他位置,则主键仍应是唯一的。

答案 1 :(得分:0)

是的,int是行业标准。

即使在数据库之外,我也很少看到带有uint的C#代码或用于表示整数的任何其他变体。偶尔会在数组中使用byte。当long可能不足以涵盖所有可能性时,会使用int

始终使用int的一个好处是,您可以传递id个变量,而不必担心在不同的整数类型之间进行转换。

答案 2 :(得分:0)

这是100%好的,并且被广泛使用。有些人使用long作为主键,因为它们的最大值更大。虽然在大多数情况下都没有必要。

答案 3 :(得分:0)

Guid类型有时也用作ID。它有一些好处,如固定长度,全球唯一性和不可预测性。还有一些问题,比如降低搜索性能,很难记住。