我想将字符串值转换为日期时间
类
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)'方法,并且此方法无法转换为商店表达式。
答案 0 :(得分:14)
如果您需要使用SQL进行转换,可以尝试使用SqlFunctions.DateAdd并添加零间隔。
var DateQuery = db.Order_Reports.Select(o => new demoDate {
DueDate = SqlFunctions.DateAdd("day", 0, o.ReportDueDateTime),
OrderReportID = o.OrderReportID
});
答案 1 :(得分:6)
您需要首先将查询(即加载数据)具体化到您的应用程序,然后解析它。实体框架不知道如何执行.Net方法(如DateTime.Parse
),它只知道如何将它们转换为SQL
var DateQuery = db.Order_Reports.ToList().Select(o => new demoDate
{
DueDate=DateTime.Parse(o.ReportDueDateTime),
OrderReportID= o.OrderReportID
});
答案 2 :(得分:0)
DateTime myDateTime = Convert.ToDateTime(DateTimePicker.Text);
var kayitVarmi = (from myfTable in db.tbl_myfTable
.
.
.
.
where
tbl_donemAyYil.donemAyYilKu == myDateTime