【发布时间】:2014-11-04 22:20:06
【问题描述】:
您知道,通过使用波纹管属性,我们可以为每个条目自动生成int 的身份,以防添加新条目:
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
如果您曾经关注过,数据库会为每个新条目生成唯一的int 编号,也会自动递增,如果删除,它将从最新的专用编号继续(可能会被删除),不是来自表中最新使用的数字。这导致表中没有后续数字,如下所示:
Id Value GroupId
1 A 1
2 B 1
8 C 2//here we have 5 entry deletion
9 D 2
25 E 3//here we have 15 entry deletion
我的问题是:假设我们有大量的条目要注册。如果 key 属性,比如Id 达到其类型的最大数量(这里int 容量等于 2^32),EF 或 SQL 服务器是否会识别出我们有很多未使用的数字作为表中的 key使用它们?还是不行?
【问题讨论】:
标签: c# entity-framework ef-code-first database-management