हम 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<PIIUser>()
.HasOptional(t => t.LoyaltyUserDetail)
.WithOptionalPrincipal(t => t.PIIUser)
.WillCascadeOnDelete(true);
इस दृष्टिकोण ने तालिका LoyaltyUserDetailIdमें विदेशी कुंजी नहीं PIIUsersबनाई।
उसके बाद हमने निम्नलिखित कोड की कोशिश की।
modelBuilder.Entity<LoyaltyUserDetail>()
.HasRequired(t => t.PIIUser)
.WithRequiredDependent(t => t.LoyaltyUserDetail);
लेकिन इस बार ईएफ ने इन 2 टेबलों में कोई विदेशी कुंजी नहीं बनाई।
क्या आपके पास इस मुद्दे के लिए कोई विचार है? हम इकाई ढांचे धाराप्रवाह एपीआई का उपयोग करके एक से एक वैकल्पिक संबंध कैसे बना सकते हैं?