मैं लद्दिस्लाव मृका के जवाब का उपयोग तब सफलतापूर्वक कर रहा था जब आईडेंटिटी फ्रेमवर्क का उपयोग करते समय आईडीएस को फिर से प्राप्त करना था, क्योंकि मैं यहां पोस्ट कर रहा हूं क्योंकि मैं इसे मिस- यूज कर रहा था (अर्थात जहां इसकी आवश्यकता नहीं थी) और सोचा था कि मैं अपने निष्कर्षों को यहां पोस्ट करूंगा- यदि लोग मेरे पास मौजूद समस्या को "हल" करना चाहते हैं।
एक ऑर्डर ऑब्जेक्ट पर विचार करें जिसका ग्राहक के साथ विदेशी संबंध है। जब मैंने एक नया ग्राहक और एक नया आदेश जोड़ा उसी समय मैं कुछ ऐसा कर रहा था;
var customer = new Customer(); //no Id yet;
var order = new Order(); //requires Customer.Id to link it to customer;
context.Customers.Add(customer);
context.SaveChanges();//this generates the Id for customer
order.CustomerId = customer.Id;//finally I can set the Id
हालांकि मेरे मामले में यह आवश्यक नहीं था क्योंकि मेरे पास customer.Id और ऑर्डर के बीच एक विदेशी संबंध था
मुझे बस इतना ही करना था;
var customer = new Customer(); //no Id yet;
var order = new Order{Customer = customer};
context.SaveChanges();//adds customer.Id to customer and the correct CustomerId to order
अब जब मैं परिवर्तनों को सहेजता हूं तो ग्राहक के लिए जो आईडी बनाई जाती है उसे भी ऑर्डर में जोड़ा जाता है। मुझे अतिरिक्त चरणों की कोई आवश्यकता नहीं है
मुझे पता है कि यह मूल प्रश्न का उत्तर नहीं देता है, लेकिन यह सोचा कि यह उन डेवलपरों की मदद कर सकता है जो किसी चीज की आवश्यकता के लिए शीर्ष-मतदान उत्तर का उपयोग करके ईएफ से नए हैं।
इसका अर्थ यह भी है कि एकल लेन-देन में पूर्ण रूप से अपडेट, संभावित रूप से ऑर्फ़िन डेटा से बचना (या तो सभी अपडेट पूर्ण, या कोई भी नहीं)।