2012-07-17 17 views
5

के साथ विशिष्ट तिथि मेरे पास डेटटाइम की संपत्ति के साथ बिलिंग नामक एक इकाई है। मुझे तारीखों को विशिष्ट रूप से ढूंढने की ज़रूरत है ताकि मैं उनके माध्यम से जा सकूं और कुछ सामान कर सकूं। मैंने कोशिश की:लिंक

var DistinctYearMonthsDays = (from t in db.Billings 
           where t.DateTime.HasValue 
           select t.DateTime.Value.Date).Distinct(); 

foreach (var day in DistinctYearMonthsDays) 

लेकिन मैं (foreach पर) मिलती है:

निर्दिष्ट प्रकार सदस्य 'तिथि' संस्थाओं के लिए LINQ में समर्थित नहीं है। केवल प्रारंभकर्ता, इकाई सदस्य, और इकाई नेविगेशन गुण समर्थित हैं।

IEnumerable<DateTime> DistinctYearMonthsDays = db.Billings 
    .Select(p => new 
     {    
      p.DateTime.Value.Date.Year, 
      p.DateTime.Value.Date.Month, 
      p.DateTime.Value.Date.Day 
     }).Distinct() 
     .ToList() 
     .Select(x => new DateTime(x.Year,x.Month,x.Day)); 

किसी भी मदद की बहुत सराहना की जाएगी:

खोज के बाद मैं भी सफलता नहीं मिली निम्नलिखित की कोशिश की।

+0

क्या आपने [यह] [1] पृष्ठ देखा है? [1]: http://stackoverflow.com/questions/5289338/linq-query-distinct-date –

उत्तर

8

आप अंतर्निहित EntityFunctions का उपयोग कर सकते हैं। आपकी क्वेरी बन जाएगा:

var DistinctYearMonthsDays = (from t in db.Billings 
           where t.DateTime.HasValue 
           select EntityFunctions.TruncateTime(t.DateTime)).Distinct(); 

EntityFunctions के बारे में अधिक जानकारी के लिए, MSDN की जाँच करें।

+0

आप अपने शीघ्र (और अच्छा) प्रतिक्रिया जेफ – user1531996

+0

धन्यवाद के लिए बहुत बहुत धन्यवाद! –