का उपयोग कर काम नहीं कर रहा है मैं एक आवेदन के लिए एएसपीएनटी एमवीसी का उपयोग कर रहा हूं। मैंने एमवीसी स्टोरफ्रंट पर रॉब कॉनरी की श्रृंखला से कुछ मार्गदर्शन लिया है। मैं स्टोरफ्रंट में उपयोग किए जाने वाले एक बहुत ही समान डेटा एक्सेस पैटर्न का उपयोग कर रहा हूं।लिंक से एसक्यूएल अपडेट रिपोजिटरी पैटर्न
हालांकि, मैंने पैटर्न में थोड़ा अंतर जोड़ा है। मेरे मॉडल में बनाए गए प्रत्येक वर्ग में IsNew नामक एक संपत्ति है। इस पर इरादा मुझे यह निर्दिष्ट करने की अनुमति देना है कि मुझे डेटाबेस में डालने या अपडेट करना चाहिए या नहीं।
मेरी नियंत्रक में:
OrderService orderService = new OrderService();
Order dbOrder = orderService.GetOrder(ID);
if (ModelState.IsValid)
{
dbOrder.SomeField1 = "Whatever1";
dbOrder.SomeField2 = "Whatever2";
dbOrder.DateModified = DateTime.Now;
dbOrder.IsNew = false;
orderService.SaveOrder(dbOrder);
}
और फिर SQLOrderRepository में:
यहाँ कुछ कोड है
public void SaveOrder(Order order)
{
ORDER dbOrder = new ORDER();
dbOrder.O_ID = order.ID;
dbOrder.O_SomeField1 = order.SomeField1;
dbOrder.O_SomeField2 = order.SomeField2;
dbOrder.O_DateCreated = order.DateCreated;
dbOrder.O_DateModified = order.DateModified;
if (order.IsNew)
db.ORDERs.InsertOnSubmit(dbOrder);
db.SubmitChanges();
}
मैं नियंत्रक कोड को बदलते हैं ताकि dbOrder.IsNew = true ; तब कोड काम करता है, और मान सही ढंग से डाले जाते हैं।
हालांकि, अगर मैं dbOrder.IsNew = false सेट करता हूं; तो कुछ भी नहीं होता ... कोई त्रुटि नहीं है - यह आदेश को अपडेट नहीं करता है।
मैं यहाँ DebuggerWriter उपयोग कर रहा हूँ: http://www.u2u.info/Blogs/Kris/Lists/Posts/Post.aspx?ID=11 एसक्यूएल जाता है कि उनके जेनरेट होने का पता लगाने के लिए, और उम्मीद के रूप में, जब IsNew मूल्य सच है, सम्मिलित एसक्यूएल उत्पन्न होते हैं और ठीक से क्रियान्वित किया जाता है। हालांकि, जब IsNew को गलत पर सेट किया गया है, तो कोई SQL उत्पन्न नहीं होता है, इसलिए कुछ भी निष्पादित नहीं होता है।
मैंने सत्यापित किया है कि यहां समस्या (LINQ not updating on .SubmitChanges()) समस्या नहीं है।
किसी भी मदद की सराहना की है।