Как конвертировать свойство на уровне DbContext / DbSet? - PullRequest
0 голосов
/ 12 сентября 2018

Записи в моей таблице хранятся в формате DateTime в формате UTC. Я хочу запросить эту таблицу по местному времени, поэтому мне нужно преобразовать метку времени в местное время при извлечении записей из базы данных.

До сих пор я пытался просто преобразовать свойство DateTime в класс DbSet, принадлежащий DbContext.

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);

Что я делаю не так? Я не хочу конвертировать его каждый раз, когда мне это нужно, так как это неэффективно и занимает много времени.

...