日期:2014-05-20  浏览次数:20950 次

高手请进.Linq条件查询 .DateTime
C# code
 if (condi.StartDateTime != null)
            {
                query = query.Where(q => q.OrderCreateDateTime >= condi.StartDateTime);
            }
            if (condi.EndDateTime != null)
            {
                query = query.Where(q => q.OrderCreateDateTime <= condi.EndDateTime);
            }


上面是我查询开始时间和结束时间的Lina判断 .但数据库保存时间为 YY-MM-dd hh:mm:ss 分括时分秒. 我现在要根据 YY-MM-dd查询在这个时间段内的数据 .Linq不能像MS用函数 Day() 取到年月日再判断 .这样就判断不了当天的数据 .请求高手怎么解决!!

------解决方案--------------------
用 System.Data.Linq.SqlClient的SqlMethods.DateDiffDay(DateTime, DateTime)

http://msdn.microsoft.com/en-us/library/system.data.linq.sqlclient.sqlmethods.aspx
------解决方案--------------------
if (condi.StartDateTime != null)
{
query = query.Where(q => q.OrderCreateDateTime.Value.Day == condi.StartDateTime);
}
if (condi.EndDateTime != null)
{
query = query.Where(q => q.OrderCreateDateTime.Value.Day == condi.EndDateTime);
}
获取到yyyy-MM-dd之后判断相等是不是可以