首先使用代码我设计了 3 个类:
class User {
public Int32 ID {get;set;}
public virtual ICollection<UserCityDetail> {get;set;}
public Int32 MainCityID {get;set;}
public UserCityDetail MainCityDetail {get;set;}
}
class City{
public Int32 ID {get;set;}
...
}
class UserCityDetail{
[Key, Column(Order = 0)]
public Int32 UserID {get;set;}
[Key, Column(Order = 1)]
public Int32 CityID{get;set;}
...
}
所以基本上我有一个用户在几个城市有不同的细节。对于 UserCityDetail,用户 ID 既是 PK 又是 FK。我还想直接参考主要城市的详细信息,所以我在 User 上放了一个城市 ID FK。
如何将用户 ID 和 MainCityID 配置为类似于 MainCityDetail 的 FK?