2010-12-27 16 views

उत्तर

158

लैम्ब्डा अभिव्यक्ति का उपयोग करते हुए ..

var result = EFContext.TestAddresses.Select(m => m.Name).Distinct(); 
36

इस प्रयास करें:

var results = (from ta in context.TestAddresses 
       select ta.Name).Distinct(); 

यह आपको एक IEnumerable<string> दे देंगे - आप उस पर .ToList() फोन एक List<string> प्राप्त करने के लिए कर सकते हैं।

+0

इस तरह समूहीकरण मुकाबले बेहतर प्रदर्शन प्राप्त करने के लिए। विशिष्ट: एसक्यूएल सर्वर निष्पादन टाइम्स: सीपीयू समय = 0 एमएस, विलुप्त समय = 50 एमएस। ग्रुपिंग: एसक्यूएल सर्वर निष्पादन टाइम्स: सीपीयू समय = 0 एमएस, समय बीत गया = 112 एमएस। –

3

इकाई-फ्रेमवर्क अलग नाम का चयन करें:

मान लीजिए अगर आप दृश्य का उपयोग कर, जिसमें आप एक से अधिक टेबल का उपयोग कर रहे हैं और आप करना चाहते हैं उस मामले में अलग-अलग लागू करें, आपको पहले वैरिएबल & में वैल्यू स्टोर करना होगा, फिर आप इस तरह के वैरिएबल पर डिस्टिंट लागू कर सकते हैं ....

public List<Item_Img_Sal_VIEW> GetItemDescription(int ItemNo) 
     { 
      var Result= db.Item_Img_Sal_VIEW.Where(p => p.ItemID == ItemNo).ToList(); 
      return Result.Distinct().ToList(); 
     } 

या आप इस सरल उदाहरण

Public Function GetUniqueLocation() As List(Of Integer) 
      Return db.LoginUsers.Select(Function(p) p.LocID).Distinct().ToList() 
End Function 
+0

अपना कोड @ayaat –

+0

पर काम नहीं कर रहा है क्या आप यहां अपना कोड कॉपी/लिख सकते हैं –

+0

हाय, जब मैं इसे टेबल पर करता हूं, तो मुझे एक त्रुटि मिलती है -> ** स्ट्रिंग को IEnumreable में परिवर्तित नहीं कर सकता .. ** क्या आप मुझे दिखा सकते हैं कि कैसे एक सूची प्राप्त करें ताकि मैं एक ड्रॉप डाउन सूची को पॉप्युलेट कर सकूं, जिसमें ईएफ डीबी में एनवीएआरएआरएआर युक्त तालिका कॉलम से अलग-अलग मान हों। – aggie

14

तरीका है कि @alliswell से पता चला है की कोशिश कर सकते पूरी तरह से वैध है, और वहाँ एक और तरीका है! :)

var result = EFContext.TestAddresses 
    .GroupBy(ta => ta.Name) 
    .Select(ta => ta.Key); 

मुझे आशा है कि यह किसी के लिए उपयोगी होगा।

+0

यह मेरे लिए बहुत उपयोगी था क्योंकि मुझे एकाधिक कॉलम चुनने की आवश्यकता थी – mamashare

3
product.Select(m => new {m.CategoryId, m.CategoryName}).Distinct(); 

इस उदाहरण में कोई डुप्लिकेट CategoryID और कोई CategoryName मैं आशा है कि यह आप

0

इकाई-फ्रेमवर्क में मदद मिलेगी का चयन विशिष्ट नाम:

मान लीजिए आप प्रत्येक के विशेष स्तंभ के हर पहले डेटा चाहते हैं कर रहे हैं समूह;

var data = objDb.TableName.GroupBy(dt => dt.ColumnName).Select(dt => new { dt.Key }).ToList(); 

      foreach (var item in data) 
      { 
       var data2= objDb.TableName.Where(dt=>dt.ColumnName==item.Key).Select(dt=>new {dt.SelectYourColumn}).Distinct().FirstOrDefault(); 

       //Eg. 
       { 
         ListBox1.Items.Add(data2.ColumnName);      
       } 

      } 
2

उपयोग करें()। अलग()

उदाहरण

DBContext db = new DBContext(); 
var data= db.User_Food_UserIntakeFood .Where(f => f.PersonID == PersonID) .Select(c => new { c.DateOfIntake, c.TimeOfIntake }).Distinct(); 
संबंधित मुद्दे