【问题标题】:Convert string to DateTime using Entity Framework使用实体框架将字符串转换为日期时间
【发布时间】:2012-11-27 00:46:14
【问题描述】:

我有一个Members 表,其中有一列包含出生日期;默认情况下,dateofbirth 列的数据类型是varchar

如何使用实体框架将字符串转换为DateTime

我尝试过这样的事情:

let dob = eclipse.members.Take(1)
                         .Select(x => report.member_Dob)
                         .Cast<DateTime>()
                         .FirstOrDefault()

但这对我不起作用,我无法更改架构。

【问题讨论】:

标签: c# linq entity-framework linq-to-entities type-conversion


【解决方案1】:

很遗憾,L2E 不支持任何字符串到日期时间的转换。有几种解决方法,例如解析字符串并在 Linq 查询中创建一个 DateTime 对象以进行比较,但这些方法既冗长又丑陋。

我建议尽可能创建 L2E 查询,然后使用 Linq to Objects 返回最终数据集。

【讨论】:

    【解决方案2】:

    这个呢:

    let dob =eclipse.members.Take(1).Select(x=> DateTime.Parse(report.member_Dob)).FirstOrDefault();
    

    ?

    【讨论】:

    • 同样的错误.....LINQ to Entities 无法识别方法 'System.DateTime ToDateTime(System.String)' 方法,并且该方法无法转换为存储表达式
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 2015-09-17
    • 1970-01-01
    相关资源
    最近更新 更多