Ми хочемо використовувати один до одного необов’язкові відносини, використовуючи спочатку 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 сутності сутності?