Необязательное отношение один к одному с использованием Entity Framework Fluent API
Мы хотим использовать необязательные отношения один-на-один, используя Entity Framework Code First. У нас есть две организации.
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
должен иметьPIIUser
, Мы попробовали эти техники свободного подхода.
modelBuilder.Entity()
.HasOptional(t => t.LoyaltyUserDetail)
.WithOptionalPrincipal(t => t.PIIUser)
.WillCascadeOnDelete(true);
Этот подход нет создатьLoyaltyUserDetailId
внешний ключ вPIIUsers
Таблица.
После этого мы попробовали следующий код.
modelBuilder.Entity()
.HasRequired(t => t.PIIUser)
.WithRequiredDependent(t => t.LoyaltyUserDetail);
Но на этот раз EF несоздать эти внешние ключи в этих двух таблицах.
У вас есть идеи по этому вопросу? Как мы можем создать однозначное необязательное отношение, используя свободную структуру API