one-to-one स्पष्ट FK संपत्ति के साथ संबंध (जैसे आपका PayGroup.SupervisorId ) समर्थित नहीं है।
तो उस संपत्ति को मॉडल से हटा दें:
public class PayGroup
{
public int Id { get; set; }
public virtual Employee Supervisor { get; set; }
}
और निम्न धाराप्रवाह मानचित्रण का उपयोग करें:
modelBuilder.Entity<PayGroup>()
.HasRequired(e => e.Supervisor)
.WithOptional()
.Map(m => m.MapKey("SupervisorId"));
WithOptional() कॉल दो चीजें निर्दिष्ट करता है। पहला यह कि Employee . में कोई उलटा नेविगेशन गुण नहीं है क्लास, और दूसरा कि FK वैकल्पिक है (Allow Nulls = true तालिका में)।
यदि आप उलटा नेविगेशन गुण जोड़ने का निर्णय लेते हैं
public class Employee
{
public string EmployeeId { get; set; }
public string FullName { get; set; }
public virtual PayGroup PayGroup { get; set; } // <=
}
इसे WithOptional(e => e.PayGroup) में बदलें ।
यदि आप इसे आवश्यक बनाना चाहते हैं (Allow Nulls = false तालिका में), फिर संबंधित WithRequiredDependent . का उपयोग करें अधिभार (आश्रित यहाँ इसका अर्थ है कि Employee प्रिंसिपल . होंगे और PayGroup आश्रित होगा )