最初にコードを使用して、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;}
...
}
基本的に、いくつかの都市で異なる詳細を持つユーザーがいます。ユーザー ID は、UserCityDetail に対する PK と FK の両方です。また、主要な都市の詳細を直接参照したいので、都市 ID FK を User に置きました。
MainCityDetail の FK のように機能するようにユーザー ID と MainCityID を構成するにはどうすればよいですか?