Мой класс сущностей имеет свойство типа DateTime
с атрибутами [NotMapped]
и [DateRange]
. Атрибут [DateRange]
взят из DevExpress.
Когда я пытаюсь создать новую миграцию, атрибут [NotMapped]
игнорируется, и структура сущностей хочет создать новый столбец для этого свойства.
Есливторой атрибут [DateRange]
удаляется, тогда [NotMapped]
работает.
Я пробовал EF 6.2 и 6.3, но с тем же результатом.
Не работает:
public class Foo
{
[Required]
public DateTime DT1Utc { get; set; }
[NotMapped]
public DateTime LocalDT1
{
get => TimeZoneInfo.ConvertTimeFromUtc(DT1Utc, TimeZoneInfo.Local);
set => DT1Utc = TimeZoneInfo.ConvertTimeToUtc(value);
}
[Required]
public DateTime DT2Utc { get; set; }
[NotMapped]
[DateRange(StartDateEditFieldName = "LocalDT1", MinDayCount = 1)]
public DateTime LocalDT2
{
get => TimeZoneInfo.ConvertTimeFromUtc(DT2Utc, TimeZoneInfo.Local);
set => DT2Utc = TimeZoneInfo.ConvertTimeToUtc(value);
}
}
Рабочая:
public class Foo
{
[Required]
public DateTime DT1Utc { get; set; }
[NotMapped]
public DateTime LocalDT1
{
get => TimeZoneInfo.ConvertTimeFromUtc(DT1Utc, TimeZoneInfo.Local);
set => DT1Utc = TimeZoneInfo.ConvertTimeToUtc(value);
}
[Required]
public DateTime DT2Utc { get; set; }
[NotMapped]
public DateTime LocalDT2
{
get => TimeZoneInfo.ConvertTimeFromUtc(DT2Utc, TimeZoneInfo.Local);
set => DT2Utc = TimeZoneInfo.ConvertTimeToUtc(value);
}
}