我有一个包含几个名为Key和Value的列的表。 其中一个键称为RequestedOn,值为保存为字符串的时间戳。
现在在我的linq查询中,我想比较这个时间戳,例如
var startDate = DateTime.Now.AddDays(-7);
var endDate = DateTime.Now;
var query = (from ep in db.ExtendedProperties
where
ep.Key == "RequestedOn" && ep.Value >= startDate && ep.Value <= endDate
select ep).ToList();
现在我知道我无法将ep.Value(字符串)与startDate或endDate进行比较,我无法将ep.Value转换为DateTime,因为它没有意义。关于解决方案的任何想法?
提前致谢?
答案 0 :(得分:0)
如果将其保存为字符串,则必须将其解析为DateTime
然后进行比较
答案 1 :(得分:0)
你可以:
答案 2 :(得分:0)
将LINQ用于没有类型且包含不同数据的内容不是一个好选择。 LINQ的重点是要有类型。
据说你的问题的一个解决方案是将日期保存为与字符串相当的格式,例如201405231801(23.05.2014 18:01)并且只比较字符串。
当然,你关心的是时区和夏令时,你可以保证错误。
答案 3 :(得分:0)
如果您保存正确的字符串,您实际上可以进行比较:
例如:&#39; 20131201125959&#39;:年,月,日,小时,分钟,秒。