मैं एक ही सवाल के साथ संघर्ष कर रहा है, और महसूस किया कि एक अच्छी तरह से गठन सवाल एक समस्या हल है।
IQueryable मूल रूप से आपके डीबी कॉल पर भेजने से पहले क्वेरी को फ़िल्टर करने में काम करता है, इसलिए 1000 रिकॉर्ड प्राप्त करने और केवल 10 फ़िल्टर करने के बजाय, आप उन 10 को शुरू करने के लिए प्राप्त करते हैं। वह फ़िल्टरिंग आपकी सेवा परत से संबंधित है, लेकिन यदि आप एक एपीआई बना रहे हैं तो मुझे लगता है कि आप इसे अपने यूआरएल में एंड/या पैरामीटर के साथ मैप करेंगे।
http: // {host}/{entity}/q? Name = john & आयु = 21।
तो तुम कुछ इस तरह के साथ अंत:
Filter:Column1=Value1 > http://{host}/{entity}q?column1=value1 > SELECT *
FROM Entity
WHERE Column1=Value1
MVC > WCF > DB
आप एक बहुत अच्छा नमूना [here]
अन्त में, WCF से अपने पेलोड सबसे अधिक संभावना हो जाएगा के बाद से एक JSON पा सकते हैं, तो आप एक संग्रह के अंदर अपने डोमेन मॉडल में उन्हें deserialize कर सकते हैं (और चाहिए)। यह तब तक है जब पेजिंग होनी चाहिए, इसलिए मैं कुछ डब्ल्यूसीएफ कैशिंग (और इसके HTTP के बाद से, यह वास्तव में सरल है) की सिफारिश करेगा। तुम अब भी WebApp तरफ LINQ का उपयोग किया जाएगा, बस w/ओ "कहाँ" LINQ खंड (जब तक आप गतिशील रूप से ऊपर दिया गया URL व्यक्त बनाना चाहते हैं?)
एक जटिल या क्वेरी के लिए, आप बुरा एकाधिक WCF के साथ खत्म प्रश्नों (1 प्रति "और") और फिर उन सब को एक साथ जोड़
सिल्वरलाइट के लिए आप डब्ल्यूसीएफ आरआईए सेवाओं का उपयोग कर सकते हैं – RichardOD