首页 问答 EF Core 处理时区的问题
问题详情

下面的查询代码

DateTime startTime = DateTime.Now.Date;
var query = ExistingPosts(blogId).Where(p => p.DatePublished >= startTime);
var count = await query.CountAsync();

对应的 EF Core 日志

2025-12-12 12:23:42.920 [Information] Executed DbCommand ("6"ms) [Parameters=["@blogId='40823', @startTime='2025-12-12T00:00:00.0000000+08:00'"], CommandType='Text', CommandTimeout='15']"
""SELECT COUNT(*)
FROM [blog_posts] AS [b]
WHERE [b].[BlogId] = @blogId AND [b].[IsExist] = CAST(1 AS bit) AND [b].[DateAdded] >= @startTime"

SQL 的 @startTime 参数被 EF Core 自动加上了时区 +08:00 ,请问如何不让 EF Core 这么干?

用的是 .NET 10

回答

问题补充:

数据库字段是 SmallDateTime 类型,包含 +8:00 并不会影响查询

版权:言论仅代表个人观点,不代表官方立场。转载请注明出处:https://www.stntk.com/question/219.html

发表评论
暂无评论

还没有评论呢,快来抢沙发~

点击联系客服

在线时间:8:00-16:00

客服QQ

70068002

客服电话

400-888-8888

客服邮箱

70068002@qq.com

扫描二维码

关注微信公众号

扫描二维码

手机访问本站