您好,我有一个名为 DailyVisitReport 的 View 。在该 View 中,我有两个名为 FromDate 和 toDate 的字段。如果我选择 FromDate 和 ToDate 取决于它在同一 View (如部分 View )中显示包含数据的表的日期。
现在 jquery 中的 FromDate 和 ToDate 日期格式为“dd-M-y”(01-Mar-16)
在 Db 中,我还将日期格式更改为 (01-Mar-16 STRING)。
我的模型(VisitorsViewModel)
public DateTime FromDate { get; set; }
public DateTime ToDate { get; set; }
public ICollection<View_VisitorsForm> Visits { get; set; }
我的 Controller 代码
public ActionResult GetDatesfromFromDateToDate(string fromDate, string toDate)
{
CultureInfo provider = CultureInfo.InvariantCulture;
var fromdt = Convert.ToDateTime(fromDate);
var todt = Convert.ToDateTime(toDate);
List<View_VisitorsForm> VisitCount = (from v in db.View_VisitorsForm where DateTime.ParseExact(v.VisitingDate,"dd-M-y", provider) >= fromdt && DateTime.ParseExact(v.VisitingDate,"dd-M-y",provider) <= todt select v).ToList();
VisitorsViewModel visitotsVM = new VisitorsViewModel();
visitotsVM.Visits = VisitCount;
return PartialView("_Visitors", visitotsVM);
}
现在我选择 FromDate
和 ToDate
它显示下面提到的错误
LINQ to Entities does not recognize the method 'System.DateTime ParseExact(System.String, System.String, System.IFormatProvider)' method
我无法将 v.VisitingDate
从字符串格式转换为 DateFormat
。
我尝试了 Convert.ToDateTime
和 Convert.ToParse
所有内容。我仍然收到错误。请任何人理解我的问题并帮助我解决此问题。
最佳答案
Linq to Entities 查询中的所有操作都会转换为 sql。 DateTime.Parse 无法转换为 sql,因此出现错误。
在 where
之外执行解析来专门解决该问题,但更一般地说,您也应该将 VisitingDate
设为 DateTime 属性。
关于c# - LINQ to Entities 无法识别 MVC5 中的方法 'System.DateTime ParseExact(System.String, System.String, System.IFormatProvider)' 方法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39160736/