c# - Passing a Linq expression as a string? -


निम्न कोड ठीक काम करता है

  का उपयोग (var ctx = new MyEntities ()) { Var डिवाइस = ctx.Devices। जहां (एक्स = & gt; x.Device == "परीक्षण") .ओलिस्ट (); वापसी उपकरण; }  

मैं क्या करना चाहूंगा "अभिव्यक्ति में" जो कहां "खंड" में जाता है मुझे लगता है कि यह एक स्ट्रिंग ले सकता है, लेकिन निम्नलिखित एक त्रुटि फेंकता है:

  स्ट्रिंग अभिव्यक्ति = "x = & gt; x.Device == \" परीक्षण \ ""; (Var ctx = नया MyEntities ()) का उपयोग कर {var devices = ctx.Devices। कहां (अभिव्यक्ति) .ओलिस्ट (); वापसी उपकरण; }  

रनटाइम पर त्रुटि संदेश "क्वेरी वाक्यविन्यास मान्य नहीं है निकट शब्द '>', पंक्ति 6, स्तंभ 4. "; प्रारंभ में एक स्ट्रिंग से प्राप्त की जाने वाली अभिव्यक्ति में पास करने का सबसे अच्छा तरीका क्या होगा?

आपके पास है अभिव्यक्ति को मैन्युअल रूप से बनाने के लिए।

IIRC, LINQ101 नमूनों में एक DynamicExpressions लाइब्रेरी है जो आपके लिए ऐसा कर सकते हैं।


Comments