3

我有一个表模式,其中主键是 a uniqueidentifier,聚集索引是类型的标识列bigint

这个想法是 Guid 索引很可能会被碎片化,如果它会被碎片化,我更喜欢它不是聚集索引,因为那样它真的会减慢插入速度。即我希望尽可能多地顺序插入行。

但是我不希望聚集索引传播到 EF 中的概念层。聚集索引只是所谓记录的物理位置,程序员不需要知道任何关于它的信息。就他们而言,他们只处理Guid PK。所以我从模型中删除了该属性。

然而,项目编译抱怨聚集索引列不可为空,并且没有默认值,考虑到它是标识列并且既不能有默认值也不能为空,这两者都是荒谬的。

我该怎么做才能让项目编译?

注意:我不想争论 Guid vs. Sequential Guid vs. Int Id。该系统必须能够横向扩展,这意味着我所关心的 Guid PK。

4

1 回答 1

1

您应该检查该属性的EntityKey值是否true在 EDMX 中设置为。

于 2012-05-12T19:37:37.583 回答