मैं फ़िल्टर अभिव्यक्ति को ODataQueryOptions
से निकालने का प्रयास कर रहा हूं ताकि मैं इसे अपने व्यवसाय तर्क वर्ग में उपयोग कर सकूं।OData फ़िल्टर को LINQ अभिव्यक्ति में कैसे परिवर्तित करें?
public PageResult<Poco> Get(ODataQueryOptions odataQueryOptions)
{
Expression<Func<Poco, bool>> myExpression = ... // what do i do here?
var result = _myBusinessLogic.Search(myExpression);
return new PageResult<Poco>(result, null, null);
}
मैं ब्लॉग HQL here में क्वेरी का अनुवाद का वर्णन पर एक नज़र लिया और मुझे लगता है कि (कम से कम मुझे उम्मीद है कि) है कि मैं क्या कर रहा हूँ के लिए एक overkill है।
मुझे मूल रूप से Expression<Func<Poco, bool>>
रूप में फ़िल्टर अभिव्यक्ति प्राप्त करने की आवश्यकता है। मैंने ApplyTo()
के साथ खेलने की कोशिश की लेकिन मुझे काफी कुछ नहीं मिल रहा है। किसी भी मदद की सराहना की।
धन्यवाद, मैं कुछ ऐसा ही कर रहा हूं। ऐसा लगता है कि आवेदन अभिव्यक्ति के परिणाम से फ़िल्टर अभिव्यक्ति को प्राप्त करने के लिए पर्याप्त सर्जरी की आवश्यकता है, विधिकोलएक्सप्रेस को कास्टिंग, तर्क और संचालन निकालने आदि। इस कोड की दीर्घकालिक स्थिरता के बारे में थोड़ा चिंतित है। – boris
मैं एप्लिकेशन लेयर (एपीआई) में संदर्भ का खुलासा नहीं कर रहा हूं, और मैं अपने डेटा लेयर में फ़िल्टर, पेजिनेशन, नेविगेशन आदि को लागू करने में सक्षम होने के लिए ODataQueryOptions और संबंधित कक्षाओं का लाभ उठाना चाहता हूं। आदर्श रूप में, मैं उन सभी अभिव्यक्तियों को निकालने में सक्षम होना चाहता हूं जो मैं कर सकता हूं, फिर मेरे प्रश्नोत्तरी पर लागू हो सकता है, जो आवेदन की निचली परतों पर पैरामीटर के रूप में गुजर रहा है। मेरे पास अब तक का विकल्प ODataQueryOptions को पास करना है, लेकिन यह मेरे व्यापार और डेटा परत को डेटा में जोड़ देगा, जो मैं नहीं चाहता हूं। क्या आपके पास गिटहब पर शायद एक उदाहरण है जो मेरी मदद कर सकता है? – Manuel