[英]LINQ Query to Convert string to datetime
我想将字符串值转换为日期时间
类
public class demoDate
{
public DateTime DueDate;
public int OrderReportID;
public DateTime _DueDate
{
get { return DueDate; }
set { DueDate = value; }
}
public int _OrderReportID
{
get { return OrderReportID; }
set { OrderReportID = value;}
}
}
询问
var DateQuery = (from o in db.Order_Reports
select new demoDate {
DueDate = System.DateTime.Parse(o.ReportDueDateTime),
OrderReportID = o.OrderReportID
}).ToList();
此编码显示以下错误
LINQ to Entities无法识别方法'System.DateTime Parse(System.String)'方法,并且此方法无法转换为存储表达式。
如果需要使用SQL转换它,可以尝试使用SqlFunctions.DateAdd并添加零间隔。
var DateQuery = db.Order_Reports.Select(o => new demoDate {
DueDate = SqlFunctions.DateAdd("day", 0, o.ReportDueDateTime),
OrderReportID = o.OrderReportID
});
您需要首先将查询实现(即加载数据)到您的应用程序,然后解析它。 实体框架不知道如何执行.Net方法(如DateTime.Parse
),它只知道如何将它们转换为SQL
var DateQuery = db.Order_Reports.ToList().Select(o => new demoDate
{
DueDate=DateTime.Parse(o.ReportDueDateTime),
OrderReportID= o.OrderReportID
});
DateTime myDateTime = Convert.ToDateTime(DateTimePicker.Text);
var kayitVarmi = (from myfTable in db.tbl_myfTable
.
.
.
.
where
tbl_donemAyYil.donemAyYilKu == myDateTime
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.