我有一个名为Report
的模型,该模型具有以下两个属性。我将检索数据并将其发送到jQuery datatable。我需要先格式化日期字段,然后再将其发送给视图,如下所示:
public class Report
{
public int Id {get; set;}
public DateTime ActivityDate { get; set; }
//Here is the date formation property
public string FormattedDate => ActivityDate.ToString();
}
这是jQuery数据表正在调用的操作方法:
[JQDataTable]
public ActionResult Search()
{
IQueryable<Report> data = db.Reports;
return View("Index",data);
}
问题是,我无法获取格式化日期,而是出现以下错误:
The specified type member 'FormattedDate' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
我尝试并进行了大量搜索,但无法找到解决方案。在下一步中,我想将此日期转换为PersianCalendar
对象并返回其字符串。
答案 0 :(得分:1)
我在Linq查询中使用ToString遇到了类似的问题。对于您的情况,我认为在查看时间中处理datetime的转换并保留datetime变量会更容易。而是接受搜索操作的特定格式,解析接收到的日期并进行查询。
经历了很长一段时间后,我现在倾向于从视图中将日期时间作为具有明确指定格式的字符串(“ yyyy-mm-dd”只是我个人的选择:P)接受并使用DateTime.TryParseExact()空输入也是如此。
希望有帮助。编码愉快。