मैंने अपने एमवीसी 3 एप्लिकेशन में एक इकाई वर्ग बनाया है। RegistryId नामक विशेषता में से एक प्राथमिक कुंजी के साथ ही विदेशी कुंजी है। मैं कॉलम प्राथमिक कुंजी के साथ-साथ विदेशी कुंजी कैसे बना सकता हूं? मैं ईएफ ओआरएम डिजाइनर का उपयोग नहीं कर रहा हूं। मैं हाथ से कक्षाओं कोडिंग कर रहा हूँ।प्राथमिकता फ्रेमवर्क में प्राथमिक/विदेशी कुंजी
31
A
उत्तर
55
मुझे लगता है कि "ईएफ ओआरएम डिजाइनर का उपयोग नहीं करना" का मतलब है कि आप ईएफ 4.1 से नए DbContext
एपीआई का मतलब है। क्योंकि अगर आपका मतलब DbContext
एपीआई नहीं है तो आपको अभी भी ईडीएमएक्स (डिजाइनर) का उपयोग करना होगा। डेटा एनोटेशन
आप या तो उपयोग कर सकते हैं (System.ComponentModel.DataAnnotations
): KeyAttribute
और ForeignKeyAttribute
:
public class Registry
{
public virtual int Id { get; set; }
public virtual MyEntity MyEntity { get; set; }
}
public class MyEntity
{
[Key, ForeignKey("Registry")]
public virtual int RegistryId { get; set; }
public virtual Registry Registry { get; set; }
}
या आप धाराप्रवाह एपीआई (अपने व्युत्पन्न संदर्भ में OnModelCreating
अधिभावी) का उपयोग कर सकते हैं:
(संपादित करें: धाराप्रवाह मानचित्रण था उलट और अधूरा)
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<MyEntity>()
.HasKey(e => e.RegistryId);
modelBuilder.Entity<MyEntity>()
.Property(e => e.RegistryId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
modelBuilder.Entity<MyEntity>()
.HasRequired(e => e.Registry)
.WithRequiredDependent(r => r.MyEntity);
}
MyEntity
जहाँ आपके इकाई है एफके और Registry
के साथ 1: 1 संबंध में प्रमुख इकाई है।
संबंधित मुद्दे
- 1. इकाई फ्रेमवर्क - विदेशी कुंजी
- 2. अधिकतम प्राथमिकता कतार में डेक्रैस-कुंजी क्यों नहीं है?
- 3. समग्र कुंजी इकाई फ्रेमवर्क बनाना
- 4. प्राथमिकता
- 5. नेट फ्रेमवर्क की प्राथमिकता कतार कक्षा क्यों नहीं है?
- 6. PHP फ्रेमवर्क - क्या वे पूरी तरह से व्यक्तिगत प्राथमिकता हैं?
- 7. जावा में प्राथमिकता ThreadPoolExecutor (एंड्रॉइड)
- 8. प्राथमिकता में डायलॉग फ्रैगमेंट
- 9. जावा में प्राथमिकता पंक्तियां
- 10. प्राथमिकता: ईमेल में हेडर
- 11. गैर-प्राथमिक कुंजी फ़ील्ड के लिए इकाई फ्रेमवर्क विदेशी कुंजी
- 12. सी ++ प्राथमिकता शब्दकोश
- 13. इकाई फ्रेमवर्क EntityKey/विदेशी कुंजी समस्या
- 14. .NET इकाई फ्रेमवर्क वृद्धिशील प्राथमिक कुंजी
- 15. इकाई फ्रेमवर्क कोड पहले - परिभाषित रिश्ते/कुंजी
- 16. इकाई फ्रेमवर्क डेटाबेस प्रथम - समग्र विदेशी कुंजी
- 17. इकाई फ्रेमवर्क कोड पहले। प्राथमिक कुंजी
- 18. इकाई फ्रेमवर्क 4: प्राथमिक कुंजी कैसे खोजें?
- 19. इकाई फ्रेमवर्क कोड-प्रथम शून्य विदेशी कुंजी
- 20. एंटीटी फ्रेमवर्क 4 में अनुमत विदेशी कुंजी की अनुमति है?
- 21. बूस्ट :: भावना में ऑपरेटर प्राथमिकता?
- 22. गो चुनिंदा कथन में प्राथमिकता
- 23. प्राथमिकता कतार
- 24. प्राथमिकता कतार
- 25. प्राथमिकता स्क्रीन
- 26. उपयोगकर्ता-प्राथमिकता
- 27. प्राथमिकता उलट
- 28. प्राथमिकता कतार
- 29. ब्रैकेट प्राथमिकता
- 30. प्राथमिकता कतार
@Hi Ladislav: क्या होगा अगर कई रिश्तों में से एक है? – DotnetSparrow
MyEntity में एक से कई प्राथमिक कुंजी विदेशी कुंजी नहीं हो सकती है। अन्य एफके संपत्ति या कोई एफके संपत्ति नहीं होनी चाहिए। –
@ लाडिस्लाव: जब मैं [विदेशीकेई ("")] का उपयोग करने की कोशिश करता हूं, तो यह कॉलम नाम मांगता है। क्या मुझे इसके अंदर रजिस्ट्री या रजिस्ट्री इकाई के आईडी देने की ज़रूरत है? – DotnetSparrow