我使用Npgsql.EntityFramework(2.2.7)与安装在Windows Server 2012上的新PostgreSQL(9.6.2)数据库进行交互。我在使用DateTime类型的参数查询数据库时遇到了一些意外行为。当我为EF提供查询的参数时,它们与DateTime.Kind = UTC绑定。但是,当我使用IDbCommandInterceptor查看参数时,参数值实际上绑定为DateTime.Kind = Unknown。这当前给我带来了问题,因为我使用拦截器来确保针对数据库插入/更新/查询的任何日期都是Kind = UTC以确保一致的日期存储。这适用于使用Oracle提供的实体框架驱动程序的Oracle数据库。我在http://www.npgsql.org/doc/types/datetime.html阅读了文档,我被认为在绑定时该值应该保持不变。这是在npgsql驱动程序中更改Datetime.Kind的错误吗?或者这是预期的行为?如果预料到,为什么?
提前致谢!