【发布时间】:2013-02-01 14:24:16
【问题描述】:
假设我有一个包含以下字段的表格:
- 联赛ID
- 比赛ID
- 一些数据
联赛将举办多场比赛。通常每个联赛都会使用自己的本地数据库,因此该本地数据库的所有记录中的 LeagueID 字段都是相同的。联盟每年一次将其数据上传到国家当局,然后需要使用 LeagueID 来区分具有相同 MatchID 的比赛。
实现复合主键的最佳方式是什么(使用 EF Fluent API)?
Entity<Match>.HasKey(match=>new {match.LeagueID,match.MatchID})
或
Entity<Match>.HasKey(match=>new {match.MatchID,match.LeagueID})
在人眼看来,联赛 - 比赛的顺序是合乎逻辑的,因为它将特定联赛的比赛放在一起。但我明白,在编写复合键时,出于性能考虑,首先使用最具辨别力的字段很重要。
【问题讨论】:
标签: entity-framework database-design entity-framework-5 composite-key