linq時間篩選以及list時間篩選


Linq的時間篩選

//寫法一:正常
IEnumerable<x> xList = dbContext.xs.OrderByDescending(u => u.CreateTime).Where(u => EntityFunctions.DiffDays(u.CreateTime, DateTime.Now) == 0);
//寫法二:錯誤
IEnumerable<x> xList = dbContext.xs.OrderByDescending(u => u.CreateTime);
xList = xList.Where(u => EntityFunctions.DiffDays(u.CreateTime, DateTime.Now) == 0);
寫法二中,在使用EntityFunctions的時候,xList對象已經是Ienumerable的類型了,是無法使用linq自帶的EntityFunctions方法的,所以會報錯,具體意思就是不識別這個方法

 

List的時間篩選,這里有一點是DateTime中的Date是表示日期,例如今天2017/10/17 9:45.0,Date處理后的結果就是 2017/10/17 0:00:0

#region List獲取
            List<TestObj> list = new List<TestObj>();
            for (int i = 0; i < 4; i++)
            {
                TestObj temp = new TestObj() { ID = i, CreateTime = DateTime.Now.AddYears(-i).AddDays(i) };
                list.Add(temp);
            }
           Console.WriteLine( SerializationHelper.JsonSerialize(list.Where(u => DateTime.Compare(u.CreateTime.Date, DateTime.Now.AddYears(-1).AddDays(1).Date) == 0).ToList()));
           Console.WriteLine( DateTime.Now.Date);
            #endregion

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM