2016-09-09 9 views
0

С кодом Сначала создание базы данных, как можно указать свойство DateTime, чтобы использовать тип данных postgres timestampz вместо метки времени по умолчанию ?. Я сохраняю все даты как UTC, однако есть проблема с запросами linq, где DateTime.Kind не указан. Я считаю, что timestampz должен решить эту проблему.EF Code First Как указать DateTime как timestampz

В приведенных ниже примерах кода используется атрибут «Столбец», это приводит к ошибке (DateTime несовместимо).

Я использую npgsql v3.1.7 и EntityFramework6.Npgsql V 3.1.1

[Column(TypeName="timestampz")] 
public DateTime CreatedByDate { get; set; } 

[Column(TypeName="NpgsqlDateTime")] 
public DateTime CreatedByDate { get; set; } 

ответ

0

Вы можете использовать атрибут TimeStamp в пространстве имен System.ComponentModel.DataAnnotations иметь .NET создать Ненулевой столбец Timestamp в базе данных таблицу, которую представляет ваша сущность.

[Timestamp] 
public Byte[] TimeStamp { get; set; } 

Код сначала допускает только одно свойство Timestamp для каждого объекта.