2015-01-13 19 views
7

कुछ दिनों के वापस मैं नया ORM डेल्फी के लिए Devart EntityDAC बुलाया से विशिष्ट डॉक्स पढ़ने LINQ हिस्सा है, जब मैं की तरह कुछ देखा कोशिश कर रहा था, अच्छी तरह से मैं गया था:क्या यह लैम्ब्डा है? यदि नहीं, तो यह क्या है?

Linq.From(Emp).Where(Emp['Sal'] > 1000) 

कि मुझे जगाना कहना चाहते हो मैंने देखा पहला पल। अभिव्यक्ति "एएमपी ['साल']> 1000" एक लैम्ब्डा अभिव्यक्ति नहीं है ?! चूंकि परीक्षण संस्करण यह घटक स्रोतों के साथ नहीं आता है, इसलिए मैं यह नहीं समझ पाया कि कार्य/प्रक्रिया कहां घोषित की जाती है।

संदर्भ: http://www.devart.com/entitydac/docs/ -> LINQ क्वेरी -> Linq सिंटेक्स -> कहाँ सत्र

+1

मुझे नहीं लगता कि यह पास्कल हो सकता है क्योंकि 'एम्प' 'साल']> 1000' अभिव्यक्ति का मूल्यांकन 'कहां' कहने से पहले किया जाएगा। आप देवता से क्यों नहीं पूछते? –

+2

EntityDAC .net और डेल्फी के लिए उपलब्ध है और निश्चित रूप से विशेष रूप से linq भाग अलग है। लेकिन एक अध्याय भी है [स्ट्रिंग के रूप में LINQ क्वेरी तर्क निर्दिष्ट करना] (http://www.devart.com/entitydac/docs/specify_linq_query_arguments_as_string.htm) और मुझे लगता है कि आपको इसका उपयोग डेल्फी –

+1

@ डेविडहेफरन के साथ करना होगा ऑपरेटर ओवरलोडिंग के बारे में क्या ? क्या आप ऑपरेटर ओवरलोड कोड में मानों की एक सूची बनाकर और फिर उस सूची का उपयोग करके कुछ हासिल नहीं कर सके? आप प्रभावी रूप से एक अप्रयुक्त परिणाम लौटते हैं। – Graymatter

उत्तर

12

I mentioned this in a blog post a few months ago. मैं स्रोत को देखने के लिए नहीं है के लिए नीचे स्क्रॉल, लेकिन यह लगभग निश्चित रूप से इस तरह से किया जाता है:

  • अभिव्यक्ति Emp['Sal'] एक record प्रकार का एक मान देता है
  • इस रिकॉर्ड ऑपरेटर भार के उस पर की घोषणा की है
  • डेल्फी भाषा के रूप में ऑपरेटर भार के को परिभाषित करता है कार्यों, और उन्हें किसी भी निर्दिष्ट या सहज प्रकार की वापसी की आवश्यकता नहीं है। इसलिए, > ऑपरेटर यहां एक बूलियन नहीं लौटाता है, बल्कि एक और रिकॉर्ड।
  • इन ऑपरेटरों को चेन करके, एक अभिव्यक्ति वृक्ष बनाया जा सकता है, जिसका मूल्यांकन उनके LINQ मूल्यांकनकर्ता द्वारा किया जा सकता है।
+0

thx आपके ध्यान के लिए, मुझे नहीं पता था कि डेल्फी में यह सुविधा थी। मैं निश्चित रूप से आगे देखता हूँ – kabstergo

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