सवाल सी # में सीरियलाइजिंग और Deserializing अभिव्यक्ति पेड़


सी # में अभिव्यक्तियों को Deserialize करने का कोई तरीका है, मैं एक डेटाबेस में अभिव्यक्तियों को स्टोर करना चाहता हूं और उन्हें रन टाइम पर लोड करना चाहता हूं।


85
2017-10-20 10:04


मूल


किस प्रकार की अभिव्यक्तियां? Regex? - Jon Limjap
मैं सिस्टम "Linq.Expression प्रकार अभिव्यक्तियों को मानता हूं, "पेड़" दिया जाता है। - David Wengier
आप उपयोग कर सकते हैं codeproject.com/Articles/851187/... - Mohammad Dayyan


जवाब:


मैंने लाइब्रेरी पर काम जारी रखा जिसका उल्लेख किया गया था सी # में सीरियलाइजिंग और Deserializing अभिव्यक्ति पेड़

ऐसा लगता है कि परियोजना को छोड़ दिया गया था (2008) लेकिन मैंने इस पर कुछ काम किया और अब यह .NET 4.0 और सिल्वरलाइट के साथ काम करता है। मैंने अपने कोड पर बग फिक्स किए और इसे और अधिक डीएएल-स्वतंत्र बना दिया।

http://expressiontree.codeplex.com/


45
2018-06-14 22:15



एक समाधान समाधान के साथ आने के लिए +1। मैंने एमएसडीएन पर मूल पुस्तकालय का उपयोग करने की कोशिश की और यह एक साधारण बाइनरी अभिव्यक्ति नोड को deserialize नहीं कर सका। आपका प्रोजेक्ट बहुत अच्छा काम करता है। धन्यवाद! - Repo Man
क्या यह नुजेट पर प्रोजेक्ट है? - Mohammad Dayyan
@ मोहम्मददायन, माइक्रोसॉफ्ट अपने पैकेज प्रबंधन उपकरण पर अनिश्चित और असंगत रहा है। कभी-कभी अन्य मामलों में, Nuget के साथ ASP.NET कोर पैकेज स्थापित किए जा सकते हैं उदा। एक मोंगोडीबी चालक NuGet के माध्यम से उपलब्ध नहीं होगा। अभी भी कम से कम माइक्रोसॉफ्ट के पास एनपीएम पैकेजों का प्रबंधन करने की अनुमति देने की अंतर्दृष्टि थी। एनपीएम पर इसे रखने की अधिक संभावना है - T. Webster
@RepoMan किसी समस्या को हल करने के लिए मेरे लिए बहुत अधिक मूल्यवान है जब यह किसी की सहायता करता है। शायद आप उपयोग पर कुछ दस्तावेज योगदान कर सकते हैं - चलो बात करते हैं .. - T. Webster


अन्य विकल्प है अभिव्यक्ति वृक्ष serialization code.msdn.com पर प्रोजेक्ट - यहां और अधिक की आवश्यकता होगी?

यूपीडी: अब http://archive.msdn.microsoft.com/exprserialization


14
2017-09-28 09:57



अभिव्यक्ति वृक्ष सीरियलाइजेशन कोड कोड गैलरी से हटा दिया गया है code.msdn.microsoft.com/exprserialization, कोई विचार जहां इसे स्थानांतरित किया गया है या बेहतर विकल्प हैं? - Kiran Bheemarti
@ किरण: तुम्हारा क्या मतलब है? कोड डाउनलोड अभी भी है; पृष्ठ के शीर्ष पर डाउनलोड टैब की जांच करें। - Robert Harvey♦
हां यह अब, शायद एक अस्थायी बात है, पृष्ठ एक परियोजना को फेंक रहा था जब कल उपरोक्त लिंक की कोशिश की गई तो मुझे त्रुटि नहीं मिली। मैं प्रोजेक्ट देखता हूं और अभी डाउनलोड करता हूं। धन्यवाद!!! - Kiran Bheemarti
हालांकि अब चला गया ... - Ben Ripley
अभी भी अपडेट के बाद भी चला गया। - BrainSlugs83


गिटहब / नुजेट नामक एक परियोजना है MetaLinq जिसका उद्देश्य अभिव्यक्ति तनाव के साथ काम करना आसान है।

यह सामान्य अभिव्यक्तियों और 'संपादन योग्य एक्सप्रेशन' के बीच परिवर्तित होता है जो उत्परिवर्तनीय और पूरी तरह से Serializable हैं, इसलिए जेसन, एक्सएमएल, बाइनरी आदि के साथ उपयोग किया जा सकता है।

यह भी जांचें ब्लॉग पोस्ट अधिक जानकारी के लिए।


13
2017-10-20 15:11





मेरी नई लाइब्रेरी पर एक नज़र डालें Serialize.Linq। यह जेनसन, एक्सएमएल और बाइनरी में linq अभिव्यक्ति serializes।


7
2017-09-22 10:03



क्या आपने पहले इसका इस्तेमाल किया है? आपका अनुभव कैसा रहा / कोई सीमाएं कैसे मिलीं? - Alexandre Brisebois
मैंने अपनी आखिरी परियोजना में इसका एक समान संस्करण इस्तेमाल किया। अच्छा काम करता है - esskar
आप कुछ ऐसा क्यों लिखेंगे जो टायरों के बीच की रेखाओं को और खराब कर देगा? आप डीएएल डोमेन ऑब्जेक्ट्स के बीएएल को एक्सपोजर कर रहे हैं ... जब तक कि आपकी लाइब्रेरी किसी भी तरह से स्वचालित रूप से डोमेन ऑब्जेक्ट्स / क्वेरीज में डीटीओ (और उनके खिलाफ प्रश्न) को परिवर्तित नहीं करती है। मुझे इस तरह के व्यवहार का संकेत देने वाले दस्तावेज़ों में कुछ भी नहीं दिख रहा है। - M.Babcock
आपका ब्लॉग नीचे है ... - Basic
@esskar आपका ब्लॉग / पूरी साइट चली गई है। क्या यह चले गए हैं? - Jon


पूरी तरह से नहीं; हालांकि गतिशील LINQ नमूना थोड़ा सा मदद कर सकता है। आप निश्चित रूप से एक स्ट्रिंग को एक अभिव्यक्ति क्रमबद्ध कर सकते हैं (एक हद तक - जेनेरिक थोड़ा सा खराब दिखता है), लेकिन इसमें कोई अंतर्निहित पार्सर नहीं है।


2
2017-10-20 10:16



मैं स्ट्रिंग के रूप में लेने और अभिव्यक्ति वृक्ष बनाने के लिए, केवल दूसरी दिशा, नमूना का उपयोग करके एक स्ट्रिंग को अभिव्यक्ति को क्रमबद्ध करने का तरीका नहीं समझ सकता। मैं किस विधि को बुलाता हूं? - Christopher Edwards


डब्ल्यूसीएफ आरआईए सेवाएं धारावाहिक के लिए अनुमति देता है IQuerayble<T>

डब्ल्यूसीएफ आरआईए सेवा भाग 3 - डेटा अपडेट कर रहा है


2
2017-09-10 07:27



मेरा मानना ​​है कि यह अधिक प्रासंगिक है: silverlightshow.net/items/... - Enrico Campidoglio


मैं अभिव्यक्ति क्रमबद्ध करने के लिए एक परियोजना पर काम कर रहा था। यह ठीक है और आप इसका इस्तेमाल कर सकते हैं। http://www.codeproject.com/Articles/851187/ServicePredicateBuilder-for-creating-Serializable 


0
2017-08-15 10:17