Я использую кодовый подход EF6 для подключения к Postgresql. Ниже приведен пример класса, который я создал:
[Table("Cars")]
public class Car
{
[Key]
public int Id { get; set; }
public string LicenceNumber { get; set; }
public string Insurance { get; set; }
public int? Year { get; set; }
public string Name { get; set; }
public override string ToString()
{
return LicenceNumber;
}
}
Теперь я изменил тип данных LicenceNumber на int, как показано ниже: publi c int LicenceNumber {get; набор; }
И выполните следующие команды, чтобы база данных была обновлена: -Add-Migration LicenceDatatypeChange и -Update-Migration
И теперь я должен вернуть свои изменения в базе данных к первоначальной настройке, чтобы я запустил команда ниже: -Update-Database –TargetMigration: InitialCreate
База данных обновляется без каких-либо проблем. Но проблема в том, что класс 'Car' остается без изменений (ожидается: тип данных LicenceNumber должен быть изменен обратно на строку). Таким образом, в основном, когда мы переходим к определенной c версии, обновляется только база данных, но не модели.
Изменение изменений класса вручную является утомительной работой, особенно при многократных миграциях.
Ожидается ли такое поведение? Или есть ли способ вернуть изменения класса также без обновления классов вручную?