Ми хочемо використовувати один до одного необов’язкові відносини, використовуючи спочатку Entity Framework Code. У нас є дві сутності.
public class PIIUser
{
public int Id { get; set; }
public int? LoyaltyUserDetailId { get; set; }
public LoyaltyUserDetail LoyaltyUserDetail { get; set; }
}
public class LoyaltyUserDetail
{
public int Id { get; set; }
public double? AvailablePoints { get; set; }
public int PIIUserId { get; set; }
public PIIUser PIIUser { get; set; }
}
PIIUser
може мати, LoyaltyUserDetail
але LoyaltyUserDetail
повинен мати a PIIUser
. Ми випробували ці методи вільного підходу.
modelBuilder.Entity<PIIUser>()
.HasOptional(t => t.LoyaltyUserDetail)
.WithOptionalPrincipal(t => t.PIIUser)
.WillCascadeOnDelete(true);
Цей підхід не створив LoyaltyUserDetailId
зовнішній ключ у PIIUsers
таблиці.
Після цього ми спробували наступний код.
modelBuilder.Entity<LoyaltyUserDetail>()
.HasRequired(t => t.PIIUser)
.WithRequiredDependent(t => t.LoyaltyUserDetail);
Але цього разу EF не створив жодних зовнішніх ключів у цих 2 таблицях.
Чи є у вас ідеї щодо цього питання? Як ми можемо створити один до одного необов’язкові відносини, використовуючи плавний api сутності сутності?