繁体   English   中英

LINQ查询将字符串转换为datetime

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM