0
を私持っている以下のクラス:は、1対1に堪能で設定を追加カント - エフcodeFirst
User, Address, UserAddress
public class User
{
public ICollection<useraddress> userAddresses { get; set; }
}
public class Address
{
public virtual User User { get; set; }
public virtual Guid UserId { get; set; }
public UserAddress UserAddress { get; set; }
}
public class UserAddress
{
public User User { get; set; }
public Guid UserId { get; set; }
public Address Address { get; set; }
public Guid AddressId { get; set; }
}
私はUserAddressConfig
で以下のような流暢な構成を作成します:
HasKey(row => new { row.UserId,row.AddressId});
とAdddressConfig
:
HasOptional(row => row.UserAddress).WithRequired(row => row.Address).WillCascadeOnDelete();
が、私は、データベースを生成するとき、それは次のようになります。
あなたはAddress' 'ではなく、' User'に 'UserId'を保存しないのはなぜ?それは私には意味がありません。 – wimh
@Wimmelその外来キー –
あなたのモデルは見晴らされる。まず、作成されたテーブルと一致しません(アドレス参照)。あなたは流暢なコードで "row.osman"を参照してください。それは何ですか? EFが外部キーを正しく設定していないために、Address_Idが追加されているようです。 https://msdn.microsoft.com/en-us/data/jj591620.aspx#CompositeKey –