WCF डेटा सेवा अनुप्रयोग में EntityFramwork 6 और VS 2013 माइग्रेट करने के बाद अद्यतन या हटाया नहीं जा सकता है

EntityFramework और VS 2013 में माइग्रेट करने के बाद, मैं एक रिसोर्स अपडेट या हटा नहीं सकता।

Request URL:service.svc/Orders(22354)
Request Method:DELETE
Status Code:500 Internal Server Error
Request Headersview source
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,fr;q=0.6
Host:localhost
Origin:http://localhost
Proxy-Connection:keep-alive
Referer:orders.html
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)         Chrome/31.0.1650.57 Safari/537.36
X-Requested-With:XMLHttpRequest

मुझे निम्न त्रुटि है:

   <?xml version="1.0" encoding="UTF-8"?>
   
       
       An error occurred while processing this request.
       
           Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "System.Data.Services.resources" was correctly embedded or linked into assembly "Microsoft.OData.EntityFrameworkProvider" at compile time, or that all the satellite assemblies required are loadable and fully signed.
           System.Resources.MissingManifestResourceException
           at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName)
      at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackCrawlMark& stackMark)
      at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark)
      at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
      at System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
      at System.Data.Services.TextRes.GetString(String name, Object[] args)
      at System.Data.Services.Providers.ObjectContextServiceProvider.SetConcurrencyValues(Object resource, Nullable`1 checkForEquality, IEnumerable`1 concurrencyValues)
      at System.Data.Services.UpdatableWrapper.SetETagValues(Object resourceCookie, ResourceSetWrapper container)
      at System.Data.Services.DataService`1.HandleDeleteOperation(RequestDescription description, IDataService dataService)
      at System.Data.Services.DataService`1.ProcessIncomingRequest(RequestDescription description, IDataService dataService)
      at System.Data.Services.DataService`1.HandleNonBatchRequest(RequestDescription description)
      at System.Data.Services.DataService`1.HandleRequest()
       
   

कोई उपाय ?

आपकी सहायता के लिए धन्यवाद.

10
प्रोजेक्ट में उपयोग की जाने वाली एकमात्र रिसोर्स फाइलें वे वैश्वीकरण के लिए हैं और वे एंबेडेड के रूप में कॉन्फ़िगर हैं। किस रिसोर्स फ़ाइल को समस्या का कारण बनने का कोई तरीका है? धन्यवाद!
जोड़ा लेखक nboukeffa, स्रोत
Ressource त्रुटि एक दूसरी त्रुटि प्रतीत होती है जो EntityFrameworkProvider द्वारा फेंक दिया जाता है जब यह पहली त्रुटि संदेश का अनुवाद करने के लिए ressource फ़ाइल को खोजने का प्रयास करता है ... मुझे लगता है कि पहली त्रुटि System.Data.Services.Providers.ObjectContextServiceProvider के कारण होती है। & zwnj; SetConcurrencyValues ​​लेकिन मुझे नहीं पता क्यों। जब मैं अपने ऑर्डर क्लास में नेविगेशन गुणों को हटाता हूं, तो मुझे अब त्रुटि नहीं है।
जोड़ा लेखक nboukeffa, स्रोत
ऐसा लगता है कि अपडेट होने के बाद आपकी संसाधन फ़ाइल कॉन्फ़िगरेशन को याद करती है, इस विशिष्ट संसाधन को देखें और देखें कि इसकी कॉन्फ़िगरेशन एंबेडेड के रूप में है या नहीं।
जोड़ा लेखक Fals, स्रोत
नद 1 के समान नाव में। मैंने उजागर संदर्भ और edmx से Enums को हटाने का प्रयास किया है, और यह सुनिश्चित किया है कि मैं क्लाइंट संदर्भ में एक नई वस्तु को संलग्न नहीं कर रहा था क्योंकि यूंक्स नीचे वर्णित है। डब्ल्यूसीएफ डाटा सर्विसेज 5.6.0 के साथ काम कर रहे ईएफ 6.02 प्राप्त करने की कोशिश कर बहुत निराश
जोड़ा लेखक Will Rogers, स्रोत
यह ईटीएजी की तलाश करते समय प्रदाता में होता है। ऐसा लगता है System.Data.Services.UpdatableWrapper() Microsoft.OData.EntityFrameworkProvider.dll में लागू IConcurrencyProvider को कॉल करता है। (मुझे सिंबलसोर्स या किसी अन्य प्रतीक होस्ट पर Microsoft.OData.EntityFrameworkProvider.dll के लिए कोई पीडीबी प्रतीक नहीं मिल रहा है) UpdatableWrapper() विधि में देखने के बाद मेरा आंत प्रतिक्रिया यह है कि बूल के बाद से? चेकफोरक्वालिटी को शून्य के रूप में प्रारंभ किया गया है कि Microsoft.OData.EntityFrameworkProvider.ddl में IConcurrencyProvider कार
जोड़ा लेखक Adam Caviness, स्रोत
इस सवाल को ऊपर उठाया क्योंकि मुझे एक ही समस्या मिल रही है। blogs.msdn.com/b/astoriateam/archive/2013/10/02/… इस या इसी तरह के मुद्दों का सामना करने वाले अन्य लोगों के लिए। ध्यान दें कि मेरे मॉडल में Enums नहीं है, जो एक कारण बताया गया है।
जोड़ा लेखक Dave A-W, स्रोत
यहां एक ही समस्या है, और कोई भी enums। ऐसा लगता है कि जब कोई डेटा सेवा त्रुटि हो रही है (मेरे मामले में यह कुछ इकाइयों को सहेजते समय एक मॉडल त्रुटि हो सकती है) संसाधन फ़ाइल से त्रुटि संदेश लाने की कोशिश करते समय एक त्रुटि होती है (जो मौजूद नहीं है या नहीं था ' EntityFrameworkProvider में संकलित नहीं)। मुझे System.Data.Services.resources के लिए कोई संसाधन फाइल नहीं दिखाई दे रही है, लेकिन मैं संकुल में से एक में Microsoft.Data.Services.resources देख रहा हूं, क्या यह काम करेगा? अगर मैं इसे आजमाने का फैसला करता हूं तो मैं यहां वापस पोस्ट करूंगा ..
जोड़ा लेखक vbigham, स्रोत

3 उत्तर

अगर कोई इस समाधान को आजमा देना चाहता है ... मुझे एक ही समस्या थी। ऐसा लगता है कि यह त्रुटि तब आती है जब मैं किसी संदर्भ में एक पृथक इकाई संलग्न करता हूं तो उसे अद्यतन/हटाने का प्रयास करें।

Entity entity; //detached

context.AttachTo("entitySetName", entity);
context.DeleteObject(entity);
context.SaveChanges(); //exception

यह मेरे लिए काम किया है।

//get entity from context instead of attaching the "old" one
var newEntity = ctx.Table.Where(w => w.ID == Entity.ID).FirstOrDefault();

context.DeleteObject(newEntity);
context.SaveChanges(); //works
1
जोड़ा

हमारे मामले में, क्लाइंट सेट SaveChangesOptions.Batch इस अपवाद को फेंक रहा था। इसे SaveChangesOptions.BatchWithIndependentOperations पर सेट नहीं किया गया है, लेकिन हम अपने परिदृश्य में बैचविथ इंडेंडेंटेंटऑपरेशंस का उपयोग नहीं कर सकते हैं। उम्मीद है कि यह किसी और बर्बाद समय बचाएगा।

0
जोड़ा

आप में से उन लोगों के लिए जो माइक्रोसॉफ्ट ओडाटा क्लाइंट का उपयोग नहीं कर रहे हैं, मुझे अपने क्लाइंट को PUT वाले के बजाय अपडेट के लिए MERGE अनुरोधों का उपयोग करने के लिए मजबूर कर दिया गया है।

0
जोड़ा