假设我有一个包含以下字段的表:
- 联赛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})
对人眼来说,联赛 - 比赛的顺序是合乎逻辑的,因为它将特定联赛的比赛放在一起。但我明白,在编写复合键时,出于性能原因,首先使用最具辨别力的字段很重要。