Как запретить EntityFramework Core жестко кодировать значения по умолчанию для полей даты - PullRequest
0 голосов
/ 19 января 2020

Я сталкиваюсь с проблемой, из-за которой EF жестко кодирует значения полей даты по умолчанию всякий раз, когда я добавляю миграцию. Это означает, что даже если я не внесу никаких изменений, если я пытаюсь добавить новую миграцию, он думает, что я изменили поле - хотя у меня нет.

Вот поля в типичном классе:

    public int Id { get; set; }
    public string Name { get; set; }
    public DateTime WhenLastUpdated{ get; set; }

Вот как выглядит для меня типичная новая миграция для поля WhenLastUpdated:

protected override void Up(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.AlterColumn<DateTime>(
            name: "WhenLastUpdated",
            table: "LearningTasks",
            nullable: false,
            defaultValue: new DateTime(2020, 1, 18, 23, 34, 16, 844, DateTimeKind.Utc).AddTicks(4860),
            oldClrType: typeof(DateTime),
            oldType: "datetime2",
            oldDefaultValue: new DateTime(2020, 1, 18, 23, 33, 44, 542, DateTimeKind.Utc).AddTicks(3404));
    }

Я никогда раньше видел это. Программа считает, что поле было обновлено, потому что оно имеет жестко запрограммированные значения для даты и времени. Как мне избежать этого?

Любая помощь с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...