gpt4 book ai didi

c# - 从查询字符串开始时比较 EntitySQL 中的 DateTime 值

转载 作者:行者123 更新时间:2023-11-30 15:05:23 25 4
gpt4 key购买 nike

我正在使用 QueryBuilder 如下:

var queryString = String.Format(
"SELECT VALUE e FROM Entity AS e WHERE e.EndDate {0} {1} ",
operator,
DateTime.Today.AddYears(1).ToString("d", DateTimeFormatInfo.InvariantInfo)
);
ObjectQuery<Entity> query = new ObjectQuery<Entity>(queryString, Context);

请注意,我极大地简化了这个示例,我的目标是在创建 QueryBuilder 实例之前将查询构建为字符串。 (只要这是可能的)

我已经尝试过以下

...DateTime.Today.AddYears(1)...
...DateTime.Today.AddYears(1).ToString()...
...DateTime.Today.AddYears(1).ToString("yyy\MM\dd")...

所有这些都会导致异常,表明我无法将 DateTime 与 String 或 Int32 进行比较。

我开始问我这种方法是否可行...

最佳答案

在实体 SQL 中 DateTime literals必须用以下格式表示:

DATETIME'2012-02-02 16:26'

其中日期和时间部分都是强制性的。例如:

"SELECT VALUE e FROM Entity AS e WHERE e.EndDate > DATETIME'2012-02-02 16:26'"

关于c# - 从查询字符串开始时比较 EntitySQL 中的 DateTime 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9114695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com