c# - EF Core 2.2 与 oracle DateTime.UtcNow
问题描述
我在 .net Core 3.0、EF Core 2.2 和带有数据库的 Oracle 中有一个 api。我知道这是一种不好的做法,查询 linq 如下:
await db.Tickets.Where(t => t.x== x1 && t.DATE>
DateTime.UtcNow).ToListAsync();
正确的形式是这样的:
DateTime dateUtc = DateTime.UtcNow;
await db.Tickets.Where(t => t.x==
x1 && t.DATE> dateUtc ).ToListAsync();
但我不知道为什么 EF 将查询翻译为:
SELECT table.x FROM table WHERE ((table.x = :locals1_PlateNumber_0) AND (table.DATE > SYSTIMESTAMP))
为什么 SYSTIMESTAMP 而不是 SYS_EXTRACT_UTC(LOCALTIMESTAMP) (例如)?
有人有同样的问题吗?
非常感谢
更新:实体的类型是可以为空的日期时间
解决方案
推荐阅读
- jenkins - 有没有办法在 Jenkins 中显示 Jmeter 断言结果
- regex - 可以将后视与非固定长度模式结合使用吗?
- sed - sed 删除与包含斜杠的变量值匹配的字符串
- c# - 如何在 C# 中从 ASP.NET 调用 office-365 版本的 Excel?
- c# - 如果单击切换,如何将我的 RadzenTextBox 设置为 String.Empty
- java - 跨模块共享测试资源
- c# - 动态多态性/实例创建混乱
- c - 我的二叉搜索树 c 程序有问题。我使用的是中序遍历。为什么只打印根节点?
- go - 使用 golang 以与 openssl genrsa 相同的方式获取 RSA 密钥
- azure-logic-apps - 从 Azure 逻辑应用连接到 Azure SQL 服务器时出错