तो BatchRouteId
एक XElement
था, उदाहरण के लिए, तो शायद एक वस्तु संदर्भ तुलना प्रदर्शन किया जाएगा है। उस मामले में करने के लिए
var ret = context.XInventTransBackOrder
.Where(i => i.BatchRouteId != null && !String.IsNullOrEmpty(i.BatchRouteId.Value))
.Select(i => i.BatchRouteId.Value)
.Distinct()
.ToList();
अद्यतन # कोड बदलने 1
ध्यान दें कि कुछ प्रकार बनाने आपको लगता है कि वे एक और प्रकार थे अंतर्निहित रूपांतरण लागू। आप string
को XName
पैरामीटर पर स्पष्ट कास्टिंग के बिना पास कर सकते हैं, और string
स्वचालित रूप से XName
में परिवर्तित हो जाएगा।
अद्यतन # 2
nk2003dec संदर्भ से एक टिप्पणी के अनुसार LinqToDynamicsAx
है। मुझे यह इंटरफ़ेस नहीं पता लेकिन शायद यह Distinct
लागू नहीं करता है। आप इस तरह के एक मामले में क्या कर सकते हैं, संदर्भ बदलने के लिए एक XY-LINQ फार्म वस्तु-LINQ करने के लिए System.Linq.Enumerable.AsEnumerable<TSource>
विस्तार विधि
var ret = context.XInventTransBackOrder
.Select(i => i.BatchRouteId)
.Where(id => id != "")
.AsEnumerable()
.Distinct()
.ToList();
मैं भी Select
और Where
उल्टे का उपयोग करके के रूप में इस BatchRouteId
के लिए उपयोग सरल करता है
स्रोत
2012-11-26 14:45:35
बैचरौट आईडी का प्रकार क्या है? – AlexH
डेटा का एक नमूना अच्छा होगा। –
हाँ बैचरौट आईडी एक स्ट्रिंग – nk2003dec