मैं एक फिल्टर है कि मैं कई तरीकों भर में उपयोग किया है:बच्चों के आधार पर फ़िल्टर करने के लिए System.Linq.Expressions.Expression का उपयोग कैसे करें?
Expression<Func<Child, bool>> filter = child => child.Status == 1;
(वास्तव में उस से अधिक जटिल है) और मैं जहां हालत है निम्नलिखित
return db.Parents.Where(parent => parent.Status == 1 &&
parent.Child.Status == 1);
क्या करना है उपरोक्त फ़िल्टर में जैसा ही है।
मैं इस विधि में फ़िल्टर का पुन: उपयोग करना चाहता हूं। लेकिन मुझे नहीं पता कि कैसे। मैं
return db.Parents.Where(parent => parent.Status == 1 &&
filter(parent.Child));
कोशिश की, लेकिन एक अभिव्यक्ति एक विधि के रूप में उपयोग नहीं किया जा सकता है
मुझे नहीं लगता कि आप linq-to-sql कथन के अंदर अभिव्यक्ति संकलित कर सकते हैं। Lambdas केवल सामान्य linq – HugoRune
एचएम में काम करते हैं, लगता है कि आप सही हैं, दुर्भाग्य से। मैं एक और विकल्प सुझाऊंगा। –
मुझे लगता है कि मैं संयुक्त अभिव्यक्तियों या डाइनैमिक लिंक का उपयोग करूंगा, क्योंकि @HugoRune ने –