最近,我在一个EntityFramework项目中设置了一个类,其中指定了几个成员作为复合密钥。
然而,当它及时地创建数据库时,它给出了错误。
无法确定“NNNNN”类型的复合主键排序。使用ColumnAttribute或HasKey方法指定复合主键的顺序。
我知道如何解决这个问题,但我只是想知道它为什么关心订单。复合主键不是仅仅是一组列,可以在其中输入记录,而不需要任何特定的排序吗?
发布于 2013-05-23 12:10:59
这很重要,因为主键的顺序在数据库中很重要。由于主键(通常)是群集的,并且总是索引,所以无论键是按名字排序,姓、SSN还是SSN,姓氏、名字,都会产生巨大的差异。如果我在查询表时只有SSN,而PK是唯一的索引,那么我将看到后者具有很好的性能,而对于前者则是一个完整的表扫描。
https://stackoverflow.com/questions/16713233
复制相似问题