加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – LINQ将DateTime转换为字符串

发布时间:2020-12-16 04:03:42 所属栏目:asp.Net 来源:网络整理
导读:ListPost list =( from c in db.TitleComments join t in db.Titles on c.TitleId equals t.Id join u in db.Users on c.UserId equals u.Id where t.Id == _titleId c.Date time orderby c.Date descending select new Post { Username = u.Username,Postin
List<Post> list =
(
    from c in db.TitleComments
    join t in db.Titles on c.TitleId equals t.Id
    join u in db.Users on c.UserId equals u.Id
    where t.Id == _titleId && c.Date > time
    orderby c.Date descending
    select new Post { Username = u.Username,PostingDate = c.Date.ToString(),Data = c.Comment }
).ToList();

上面的代码导致date转换为string,PostingDate = c.Date.ToString().任何想法如何解决这个问题?

异常错误:
{“LINQ to Entities无法识别方法’System.String ToString()’方法,并且此方法无法转换为商店表达式.”}

解决方法

linq试图使用sql将日期转换为字符串,但由于sql中没有ToString()方法它无法转换它,这种行为是设计的 – Joakim

换句话说,返回日期本身并在SQL端执行后将其转换为字符串:

(
select new { Username = u.Username,PostingDate = c.Date
    [...]
})
.ToList() // runs on SQL and returns to the application
.Select(o =>  // is not generating a SQL,it is running on the app
    new Post { Username = o.Username,PostingDate = o.PostingDate.ToString(),[...]
    })

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读