【发布时间】:2013-05-18 18:31:36
【问题描述】:
我最近在一个 EntityFramework 项目中设置了一个类,它指定了它的几个成员作为复合键。
然而,当需要从这里创建数据库时,它给出了错误
无法确定类型“NNNNN”的复合主键顺序。使用 ColumnAttribute 或 HasKey 方法指定复合主键的顺序。
我知道如何解决问题,但我只是想知道它为什么关心订单。复合主键不就是一组用来作为记录键的列,不需要任何特定的排序吗?
【问题讨论】:
-
不是 EF 特定的评论,但一般来说,支持
(a,b)的索引将有效地支持与支持(b,a)不同的查询(如果您进行大量搜索WHERE a = foo第一个会更可取。此外,如果其中一列是升序的,例如日期时间值,将其放在第一位可能会减少碎片。
标签: sql-server entity-framework composite-primary-key