मैंने अपने सामान्य एनएचबेरांटे के बजाय एंटीटी फ्रेमवर्क का उपयोग करना शुरू कर दिया है ताकि यह देखने के लिए कि ईएफ कैसे काम करता है और अब तक मुझे बहुत सारी समस्याएं आ रही हैं लेकिन विशेष रूप से कोई ऑब्जेक्ट को अलग कर रहा है और रख रहा है संबंधित बाल वस्तुओं।
मैंने O'Reilly Entity Framework पुस्तक खरीदी है जो आपको बताती है कि "डिफ़ॉल्ट रूप से हाँ इकाई फ्रेमवर्क ऑब्जेक्ट ग्राफ़ को तब तक नहीं रखता है जब आप अलग करते हैं" लेकिन यह दिखाता है कि आप ग्राफ को कैसे बनाए रखें! धन्यवाद O'Reilly वास्तव में उपयोगी है।इकाई फ्रेमवर्क - संबंधित ऑब्जेक्ट ग्राफ़ को अलग करें और रखें
वैसे भी अगर कोई मदद कर सकते हैं बहुत अच्छा होगा, नीचे दिए गए कोड:
using (var creativeWorkshopEntities = new CreativeWorkshopEntities())
{
var q = from c in creativeWorkshopEntities.Job.Include("Files")
where c.Id == jobId
select c;
var job = q.First();
creativeWorkshopEntities.Detach(job);
return job;
}
धन्यवाद!
दान
यही है बहुत धन्यवाद एलेक्स MergeOption के लिए चाल किया लेकिन समस्या यह एक अलग बिना है मेरी अद्यतन विधि काम नहीं करता है, वैसे भी इस के आसपास? (var creativeyWorkshopEntities = new CreativeWorkshopEntities()) { यदि (job.Id> 0) creativeWorkshopEntities.AttachUpdated (job) का उपयोग कर; // कस्टम विस्तारक विधि अन्य creativeWorkshopEntities.AddToJob (नौकरी); creativeworkSntitiesEntities.SaveChanges(); } –
आपको अद्यतन इकाई में गुजरने वाले ApplyPropertyChanges (...) का उपयोग करने की आवश्यकता है। ApplyPropertyChanges (अपडेटेड) 'अद्यतन' इकाई से मूल इकाई पर मूल्यों की प्रतिलिपि बनाता है। इसके लिए 'मूल' इकाई को काम करने के लिए संदर्भ में होना चाहिए, या तो क्योंकि आप एक प्रतिलिपि पर हैं और इसे संलग्न (अनुशंसित) या क्योंकि आपने डेटाबेस से इसे फिर से लोड करने के लिए एक क्वेरी की है। –
क्या इकाई ग्राफ को कटाई से रोकने के लिए कोई तरीका है? इस तरह से कार्यान्वित करना क्यों अलग है? – Den