基本上,我需要相当于T-SQL CONVERT(NVARCHAR(10), datevalue, 126)
我试过了:
from t in ctx.table
select t.Date.ToString("yyyy-MM-dd")
但它抛出不支持的异常from t in ctx.table
select "" + t.Date.Year + "-" + t.Date.Month + "-" + t.Date.Day
但我认为这不是一个有用的解决方案,因为我可能需要能够改变格式.我看到的唯一选择是使用Convert.ToString(t.Date, FormatProvider),但我需要一个格式提供程序,我不确定它是否有效
FormatProvider不工作,的String.Format不起作用(string.Format("{0:yyyy-MM-dd}", t.Date)罚球不支持例外太).
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();
Run Code Online (Sandbox Code Playgroud)
上面的代码导致date转换为string,PostingDate = c.Date.ToString().任何想法如何解决这个问题?
异常错误:{"LINQ to Entities无法识别方法'System.String ToString()'方法,并且此方法无法转换为商店表达式."}