मैं संसाधनों के बारे में खोज रहा हूं कि कैसे विदेशी किस्मत के रिश्तों और अन्य बाधाओं को घोषित करने के लिए कोड का उपयोग कर ईएफ 4.1 का उपयोग बहुत अधिक भाग्य के बिना किया जाता है। मूल रूप से मैं कोड में डेटा मॉडल का निर्माण कर रहा हूं और उस मॉडल को क्वेरी करने के लिए MVC3 का उपयोग कर रहा हूं। सब कुछ MVC के माध्यम से काम करता है जो महान है (माइक्रोसॉफ्ट के लिए यश!) लेकिन अब मैं चाहता हूं कि यह काम न करे क्योंकि मुझे डेटा मॉडल की कमी है।
उदाहरण के लिए, मेरे पास एक ऑर्डर ऑब्जेक्ट है जिसमें एक टन गुण हैं जो बाहरी ऑब्जेक्ट (टेबल) हैं। अभी मैं ऑर्डर की कोई समस्या नहीं बना सकता, लेकिन विदेशी कुंजी या बाहरी वस्तुओं को जोड़ने में सक्षम हुए बिना। MVC3 सेट करता है यह कोई समस्या नहीं है।
मुझे एहसास है कि मैं ऑब्जेक्ट्स को सहेजने से पहले कंट्रोलर क्लास में खुद को जोड़ सकता हूं, लेकिन मैं चाहूंगा कि DbContext.SaveChanges () को विफल कर दिया जाए, अगर बाधा के रिश्तों को पूरा नहीं किया गया है।
नई जानकारी
इसलिए, विशेष रूप से, मैं तब अपवाद होना चाहूंगा जब मैं ग्राहक वस्तु को निर्दिष्ट किए बिना ऑर्डर ऑब्जेक्ट को सहेजने का प्रयास करूंगा। यह व्यवहार प्रतीत नहीं होता है यदि मैं ऑब्जेक्ट्स को सबसे अधिक कोड फर्स्ट ईएफ प्रलेखन में वर्णित करता हूं।
नवीनतम कोड:
public class Order
{
public int Id { get; set; }
[ForeignKey( "Parent" )]
public Patient Patient { get; set; }
[ForeignKey("CertificationPeriod")]
public CertificationPeriod CertificationPeriod { get; set; }
[ForeignKey("Agency")]
public Agency Agency { get; set; }
[ForeignKey("Diagnosis")]
public Diagnosis PrimaryDiagnosis { get; set; }
[ForeignKey("OrderApprovalStatus")]
public OrderApprovalStatus ApprovalStatus { get; set; }
[ForeignKey("User")]
public User User { get; set; }
[ForeignKey("User")]
public User Submitter { get; set; }
public DateTime ApprovalDate { get; set; }
public DateTime SubmittedDate { get; set; }
public Boolean IsDeprecated { get; set; }
}
यह वह त्रुटि है जो अब मुझे मिलती है जब रोगी के लिए वी.एस.
त्रुटि संदेश
'PhysiPortal.Models.Order' प्रकार पर संपत्ति 'रोगी' पर ForeignKeyAttribute मान्य नहीं है। आश्रित प्रकार 'PhysicianPortal.Models.Order' पर विदेशी कुंजी नाम 'जनक' नहीं मिला। नाम मान विदेशी प्रमुख संपत्ति नामों की अल्पविराम से अलग की गई सूची होनी चाहिए।
सादर,
गुइडो