如何在此处传递日期时间值?
ObjectQuery<Item> _Query = ItemEntities.CreateQuery<Item>("Item");
_Query = _Query.Where("(it.StartDate >= 11/4/2009 5:06:08 PM)");
上面的示例代码似乎确实有效。
即使有了这个
ObjectQuery<Item> _Query = ItemEntities.CreateQuery<Item>("Item");
_Query = _Query.Where("(it.StartDate >= \"11/4/2009 5:06:08 PM\")");
我在EDM中遇到了类型转换错误。
答案 0 :(得分:5)
不幸的是,@ pmarflee的答案不起作用。我找到了与MSDN对应的另一个解决方案:
日期部分的格式必须为:YYYY-MM-DD ,其中YYYY为四 数字年份值介于0001和9999之间,MM是介于1和之间的月份 12和DD是对给定月份MM有效的日期值。
时间部分的格式必须为:HH:MM [:SS [.fffffff]] ,其中HH是 0到23之间的小时值,MM是0到0之间的分钟值 59,SS是介于0和59之间的第二个值,而fffffff是 0到9999999之间的小数秒值。所有值范围均为 包括的。小数秒是可选的。秒是可选的 除非指定小数秒;在这种情况下,秒是 需要。如果未指定秒或小数秒,则 将使用默认值零。
DATETIME符号和。之间可以有任意数量的空格 文字有效载荷,但没有新行。
DATETIME'2006-10-1 23:11'
相同
DATETIME'2006-12-25 01:01:00.0000000' - 与DATETIME'2006-12-25 01:01'
代码本身:
DateTime dateTimeValue = DateTime.Now;
// ESQL DATETIME format MUST be <yyyy-MM-dd HH:mm> format
_Query = _Query.Where(string.Format("(it.StartDate >= DATETIME'{0:yyyy-MM-dd HH:mm}')",dateTimeValue);
答案 1 :(得分:4)
以下内容应该有效:
ObjectQuery<Item> _Query = ItemEntities.CreateQuery<Item>("Item");
_Query = _Query.Where("(it.StartDate >= DATETIME'11/4/2009 17:06:08')");
有关ESQL查询中文字的更多信息,请参阅documentation。