我有一个表模式,主键是uniqueidentifier
,聚簇索引是bigint
类型的标识列。
这个想法是Guid索引可能会碎片化,如果它将被分割,我更喜欢它不是聚集索引,因为它会真正减慢插入。即我希望尽可能顺序插入行。
但是我不希望聚集索引传播到EF中的概念层。聚集索引只是所述记录的物理位置,程序员不需要了解它。就他们而言,他们只处理Guid PK。所以我从模型中删除了属性。
然而,项目编译抱怨聚簇索引列不可为空,并且没有默认值,考虑到它是一个标识列,它们都是无意义的,既不能有默认值也不能为空。
如何让项目编译?
注意:我不想就Guid与Sequential Guid vs. Int Id进行辩论。这个系统必须能够向外扩展,这意味着我所关心的Guid PK。
答案 0 :(得分:1)
您应该检查EDMX中属性的EntityKey
值是否设置为true
。