Я сталкиваюсь с проблемой, из-за которой 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));
}
Я никогда раньше видел это. Программа считает, что поле было обновлено, потому что оно имеет жестко запрограммированные значения для даты и времени. Как мне избежать этого?
Любая помощь с благодарностью.