sra*_*sra 3 .net c# entity-framework entity-sql query-builder
我使用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);
Run Code Online (Sandbox Code Playgroud)
请注意,我非常简化了这个示例,我的目标是在创建QueryBuilder实例之前将查询构建为字符串.(只要这是可能的)
我已经尝试了以下内容
...DateTime.Today.AddYears(1)...
...DateTime.Today.AddYears(1).ToString()...
...DateTime.Today.AddYears(1).ToString("yyy\MM\dd")...
Run Code Online (Sandbox Code Playgroud)
这都导致一个异常,说我要么无法将DateTime与String或Int32进行比较.
我开始问我这种方法是否可行......
在Entity SQL中,DateTime文字必须以下列格式表示:
DATETIME'2012-02-02 16:26'
Run Code Online (Sandbox Code Playgroud)
其中日期和时间部分都是强制性的.例如:
"SELECT VALUE e FROM Entity AS e WHERE e.EndDate > DATETIME'2012-02-02 16:26'"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1250 次 |
| 最近记录: |