Атрибут NotMapped игнорируется, если свойство имеет также другой атрибут - PullRequest
0 голосов
/ 05 октября 2019

Мой класс сущностей имеет свойство типа 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);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...