我正在修改使用 Entity Framework 6.2 的 .Net Web 系统,问题是每当用户输入日期时,他们都会在本地时区中执行此操作。所以我的想法是拦截(IDbCommandInterceptor)所有插入/更新,查找日期字段并将它们修改为UTC,然后拦截所有请求(ReaderExecuted 命令)查找任何日期并调整为用户本地时区。 到目前为止还没有找到例子。
我想拦截(IDbCommandInterceptor)所有插入/更新,查找日期字段并将它们修改为UTC
我认为这行不通。您无法判断日期值是来自用户(当地时间)还是来自其他表(该表已经采用 UTC)。您需要在了解哪些数据来自用户或不来自用户的层上处理此问题。 IE 不在命令拦截器中,而是在您的业务逻辑或视图模型中。