2010-05-05 13 views
5

मैं समर्थित लिंक्स एक्सटेंशन विधियों की पूरी सूची ढूंढ रहा हूं जो डब्ल्यूसीएफ डेटा सेवाओं के अनुकूल हैं।डब्ल्यूसीएफ डेटा सेवाओं के लिए समर्थित लिंक

परीक्षण और त्रुटि के द्वारा मैंने पाया प्रथम (समारोह) और एकल (समारोह) समर्थित नहीं हैं, किसी भी अन्य?

This मुझे समर्थित समर्थन का एक अच्छा विचार देता है, मुझे नहीं पता कि वास्तव में IQueryProvider के माध्यम से क्या अनुवाद किया जाता है।

+0

लिंक – mikalai

उत्तर

1

तुम्हारा से जो निष्कर्ष वास्तव में दिलचस्प हैं - खासकर यदि आप MSDN डॉक्स Querying the Data Service (WCF Data Services) की जाँच करें।

पहले पैराग्राफ में, डॉक्स राज्य:


एक क्वेरी निम्न परिदृश्यों में निष्पादित किया जाता है:

  • जब परिणाम परोक्ष enumerated हैं, जैसे:
    • जब DataServiceContext पर एक प्रॉपर्टी जो प्रतिनिधित्व करती है और इकाई सेट की गणना की जाती है, जैसे कि फ़ोरैच (सी #) या प्रत्येक (विजुअल बेसिक) लूप के दौरान।
    • जब क्वेरी सूची संग्रह को सौंपा गया है।
    • जब निष्पादन या BeginExecute विधि स्पष्ट रूप से बुलाया जाता है।
    • इस तरह के पहले या एकल के रूप में एक LINQ क्वेरी निष्पादन ऑपरेटर, कहा जाता है जब।

और नीचे कुछ लाइनों, वहाँ एक पीले रंग की "नोट" बॉक्स बताते हुए बताया गया है:

नोट

LINQ वाक्य रचना में व्यक्त प्रश्नों के सेट प्रतिनिधित्व स्थानांतरण (REST) ​​में सक्षम से अधिक व्यापक है आधारित यूआरआई वाक्यविन्यास जो डेटा सेवाओं द्वारा उपयोग किया जाता है। NotSupportedException उठाया गया है जब क्वेरी को यूआरआई में लक्ष्य डेटा सेवा में मैप नहीं किया जा सकता है। दस्तावेज में एक स्पष्ट कमी -

दुर्भाग्य से, मैं किसी भी स्पष्ट सूची जिनमें से LINQ वाक्य रचना में ऑपरेटर हैं या WCF डेटा सेवाओं द्वारा समर्थित नहीं हैं नहीं मिल सकता है!

+0

धन्यवाद "यह विषय अब उपलब्ध नहीं है" को जाता है लिस्टिंग पाया है, मैं सबसे पहले फोन कर रहा था() और सिंगल() Func पैरामीटर के साथ। वे अभी भी त्रुटियों को फेंक रहे हैं। पहला() हालांकि महान काम कर रहा है। अभी भी उस सूची की तलाश में है। ;) – jfar

2

पहला और एकल सिल्वरलाइट लिए समर्थित नहीं हैं क्योंकि सिल्वरलाइट सभी नेटवर्किंग async किया जा आवश्यकता है, लेकिन आप इस

NorthwindEntities context = new NorthwindEntities(new Uri("Northwind.svc", UriKind.Relative)); 
DataServiceQuery<Order> q = (DataServiceQuery<Order>)context.Orders.Take(1); 
q.BeginExecute((IAsyncResult ar) => 
    { 
     var o = ((DataServiceQuery<Order>)q).EndExecute(ar).First(); 
     txtOutput.Text = o.OrderID.ToString(); 
    }, null); 

इस कोड में आप केवल एक नेटवर्क पर भेजा जा अनुरोध कर रहे हैं की तरह कोड के साथ अनुकरण कर सकते हैं टेक (1) के साथ, और फिर एक बार यह पहले से ही सिंगलटन संदर्भ प्राप्त करने के लिए पहले() या सिंगल() का उपयोग कर क्लाइंट पर है।

समर्थित लिंक ऑपरेटर की कोई निश्चित सूची उपलब्ध नहीं है जो मुझे पता है।

जेफ

+0

चार साल बाद और यह अभी भी डब्ल्यूसीएफ डेटा सेवाओं के लिए प्रथम() और सिंगल() समर्थन प्राप्त करने का एकमात्र तरीका है। ओह। –

संबंधित मुद्दे