Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

ईएफ 6.1 कोड फर्स्ट में विभिन्न प्राथमिक कुंजी के साथ एक से एक संबंध

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 आश्रित होगा )




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ऐसे मान कैसे प्राप्त करें जिनमें SQL सर्वर में संख्याएँ नहीं हैं

  2. सीएएल लाइसेंसिंग के तहत SQL सर्वर 2012 एंटरप्राइज़ संस्करण के साथ प्रदर्शन समस्याएं

  3. प्रिंट स्टेटमेंट का उपयोग करके VARCHAR (MAX) कैसे प्रिंट करें?

  4. दो पंक्तियों के मान घटाएँ और इसे एक नए कॉलम में डालें (बाद की पंक्तियाँ नहीं)

  5. डेटाबेस और रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) क्या है