दिलचस्प पोस्ट
किसी व्यक्ति ने प्रकाशित शाखा को रीबेस या रीसेट करने के बाद मैं कैसे ठीक / पुन: सिंक्रनाइज़ कर सकता हूं? __hash __ () को कार्यान्वित करने का सही और अच्छा तरीका क्या है? बदलें: जावास्क्रिप्ट के साथ सीएसएस गुणों को घुमाएं असली दुनिया जेएमएस / संदेश कतार का उपयोग करें? Sys.stdin के लिए छोटा बफर आकार सेट करना? Idiomatically एक संख्या में मौजूद मानों की संख्या को खोजने के लिए एक सरणी में है जावास्क्रिप्ट: क्या इंटीरियर एचटीएमएल या (बहुत से) का उपयोग करने के लिए बेहतर जटिल संरचना को जोड़ने के लिए एलेमेंट कॉल्स करना बेहतर है? सारणी बनाने में त्रुटि: आपके क्रम के पास आपके एसक्यूएल सिंटैक्स में एक त्रुटि है (ऑर्डर (ऑर्डर_id INT UNSIGNED NOT NULL AUTO_INCREMENT, user_id) लाइन 1 मामला वर्ग उत्तराधिकार के साथ क्या * * गलत है? TypeScript में रनटाइम पर ऑब्जेक्ट का क्लास का नाम प्राप्त करें उपयोगकर्ताओं को अपनी साइट पर जावास्क्रिप्ट जोड़ने की इजाजत देने के लिए सुरक्षा मुद्दे? दृश्य पर एंड्रॉइड स्केल एनीमेशन कैसे? पैरामीटर और पसंद कथन SQL बैबल द्वारा जोड़ा गया वैश्विक "उपयोग सख्त" कैसे निकालना Image.FromStream () विधि अमान्य तर्क अपवाद देता है

EF4 कोड पहले: एक नेविगेशन प्रॉपर्टी जोड़ने के बिना रिश्ते को कैसे जोड़ता है

मुझे पहले कोड का उपयोग करते हुए रिश्तों को कैसे परिभाषित करना चाहिए लेकिन किसी नेविगेशन प्रॉपर्टी का उपयोग किए बिना?

इससे पहले मैंने रिश्ते के दोनों छोरों में नेविगेशन गुणों का उपयोग करके एक-अनेक और कई-कई परिभाषित किए हैं। और डेटाबेस में उपयुक्त संबंध बनाए जाते हैं यहां एक छीन लिया हुआ संस्करण है कि कक्षाएं कैसा दिखती हैं (मैंने कई-कई रिश्तों को एक-कई सादगी के लिए बदल दिया है)।

public class User { public string UserId { get; set; } public string PasswordHash { get; set; } public bool IsDisabled { get; set; } public DateTime AccessExpiryDate { get; set; } public bool MustChangePassword { get; set; } public virtual Role Role { get; set; } } public class Role { public int RoleId { get; set; } public string Name { get; set; } public string Description { get; set; } public virtual ICollection<User> Users { get; set; } public virtual ICollection<Right> Rights { get; set; } } public class Right { public Guid RightId { get; set; } public string Name { get; set; } public string Description { get; set; } public virtual Role Role { get; set; } } 

हालांकि, अगर मैं नेविगेशन गुणों को निकालता हूं, तो कोई संबंध नहीं बनाया जा रहा है। यहां बताया गया है कि कक्षाएं कैसा दिखती हैं।

 public class User { public string UserId { get; set; } public string PasswordHash { get; set; } public bool IsDisabled { get; set; } public DateTime AccessExpiryDate { get; set; } public bool MustChangePassword { get; set; } public int Role RoleId { get; set; } } public class Role { public int RoleId { get; set; } public string Name { get; set; } public string Description { get; set; } } public class Right { public Guid RightId { get; set; } public string Name { get; set; } public string Description { get; set; } public int RoleId { get; set; } } 

ध्यान दें कि नेविगेशन प्रॉपर्टी के बजाय मेरी संबंधित तालिका की प्राथमिक कुंजी है सब कुछ मेज पर बनाया जाता है – रिश्ते को छोड़कर तो मैं यह करने के बारे में कैसे प्राप्त करूं?

BTW, मैंने dbcontext के OnModelCreating विधि में विभिन्न संयोजनों की कोशिश की है, लेकिन कोई फायदा नहीं हुआ। किसी भी प्रकार की मदद की बेहद सराहना की जाती है!

धन्यवाद, मेल

वेब के समाधान से एकत्रित समाधान "EF4 कोड पहले: एक नेविगेशन प्रॉपर्टी जोड़ने के बिना रिश्ते को कैसे जोड़ता है"

मेरा मानना ​​है कि कोड-पहले उपयोग करते समय आपको हमेशा कम से कम एक ओर नेविगेशन प्रॉपर्टी की आवश्यकता होती है। तब आप इसे मैप करने में सक्षम होंगे:

 public class User { public string UserId { get; set; } public string PasswordHash { get; set; } public bool IsDisabled { get; set; } public DateTime AccessExpiryDate { get; set; } public bool MustChangePassword { get; set; } public int RoleId { get; set; } public Role Role { get; set; } } public class Role { public int RoleId { get; set; } public string Name { get; set; } public string Description { get; set; } } public class Right { public Guid RightId { get; set; } public string Name { get; set; } public string Description { get; set; } public int RoleId { get; set; } public Role Role { get; set; } } public class TestContext : DbContext { public TestContext() : base("Entities") {} protected override void OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<User>() .HasRequired(r => r.Role) .WithMany() .HasForeignKey(r => r.RoleId); modelBuilder.Entity<Right>() .HasRequired(r => r.Role) .WithMany() .HasForeignKey(r => r.RoleId); } } 

आप रिश्ते को जोड़ने के लिए धाराप्रवाह एपीआई का उपयोग कर सकते हैं, यद्यपि "कॉन्फ़िगरेशन" कोड इकाई कोड से अलग है जिससे इसे कम खोजा जा सकता है।

ईएफ 4.3 में, आप एक प्रवासन जोड़ सकते हैं जो रिश्ते जोड़ता है।