如何在DbContext / DbSet级别转换属性?

时间:2018-09-12 08:24:21

标签: c# entity-framework entity-framework-core dbcontext

我表中的记录以UTC格式的DateTime存储。 我想在本地时间查询该表,因此从数据库中检索记录时需要将时间戳转换为本地时间。

到目前为止,我只是在转换属于DbContext的DbSet类中的DateTime属性。

private System.DateTime UtcTimeStamp;
public System.DateTime TimeStamp
{
    get
    {
        return UtcTimeStamp.ToLocalTime();
    }
    set
    {
        UtcTimeStamp = value;
    }
}

不幸的是,这不起作用,结果与没有这些更改的结果相同。

但是,当我执行LINQ查询将DateTime转换为本地时间时,它工作得很好。

records = records.Where(x => x.TimeStamp.ToLocalTime() >= input.StartDate);

我在做什么错?我不想每次都需要转换它,因为它无效并且会花费很多时间。

0 个答案:

没有答案