LINQ to Entities 不支持指定的類型成員“Date”。

解決方案一:等號兩邊都轉換格式再比較

System.Data.Entity.DbFunctions.TruncateTime(airHourly.Date) 

    dateHour = dateHour.Date;

解決方案二:   等號改成區間

DateTime dateHour = DateTime.Now.Date;
DateTime dateHourEnd = DateTime.Now.Date.AddDays(1);

airHourly.Date >=dateHour &&airHourly.Date<dateHourEnd

 

        private JsonResult StreetStationHourlyData(PageModel pageInfo, DateTime dateHour, string[] stations)//, string[] param, string[] stationTypeArray
        {
            ResultModel result = new ResultModel();
            if (pageInfo.Page <= 0)
            {
                pageInfo.Page = 1;
            }
            if (pageInfo.Rows <= 0)
            {
                pageInfo.Rows = 20;
            }
            //int[] stationIntArray = Array.ConvertAll<string, int>(stations, s => int.Parse(s));
            dateHour = dateHour.Date;
            var data = from airHourly in dbq.T_AirStreetDataHourly2
                       join station in dbq.T_AirStreetStation2
                       on airHourly.StationID equals station.StationID.ToString()
                       where airHourly.StationID != null && System.Data.Entity.DbFunctions.TruncateTime(airHourly.Date) == dateHour && stations.Contains(station.StationID.ToString()) //&& stationTypeArray.Contains(station.SeatType.ToString())
                       orderby airHourly.StationID, airHourly.Date.Hour
                       select new { station.StationName, airHourly.StationID, airHourly.Date, airHourly.O3, airHourly.PM10, airHourly.PM25, Hour=airHourly.Date.Hour, station.Hierarchy, station.SeatType, station.PointNature, station.IsStreet };
            //排序
            if (pageInfo.Order != null && pageInfo.Sort != null)
            {
                bool isAsc = pageInfo.Order == "asc";
                data = data.OrderBy(new[] { pageInfo.Sort }, new[] { isAsc });
            }

            result.rows = data.Skip((pageInfo.Page - 1) * pageInfo.Rows).Take(pageInfo.Rows).ToList();
            result.total = data.Count();
            result.success = true;
            return Json(result, JsonRequestBehavior.AllowGet);

        }

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章