我有一个奇怪的文化问题,在比较日期时会影响我的实体框架查询/结果。
我使用以下代码在startup.cs
中设置我的文化信息:
var supportedCultures = new[]
{
new CultureInfo("en-GB"),
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en-GB"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
});
然而,当HTTP POST进来时,我使用以下方法检查当前文化:
Thread.CurrentThread.CurrentCulture.Name
它返回en-US
,导致我的entity framework core
查询无法比较日期。
使用en-US
实体框架查询所有结果返回MM / DD / YY并且en-GB
结果为DD / MM / YY,因此当我在查询中使用where子句时:
event.DateTimeRead.Date == input.Date
...比较不起作用我怀疑是因为当前文化中日期格式的冲突。
关于如何解决这个问题的任何建议都将解决这个问题,我们将不胜感激!