Я работал над приложением Xamarin.Forms и использовал EF 6 для таргетинга .net стандарт 2.0 .Приложение работает в магазине приложений с моим классом DBContext следующим образом.
public class DatabaseContext : DbContext
{
private readonly string _databasePath;
// Hotworks related tables
public DbSet<User> User { get; set; }
public DbSet<UserProfile> UserProfile { get; set; }
public DatabaseContext(string databasePath)
{
_databasePath = databasePath;
Database.EnsureCreated();
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite($"Filename={_databasePath}");
}
}
Теперь мне нужно добавить новый столбец в таблицу User .Для этого я создал консольное приложение .net и сгенерировал папку миграции, используя следующие команды.
dotnet ef migrations add Initial
dotnet ef update database
Затем я скопировал сгенерированную папку миграции в мой проект dbContext и изменил Database.EnsureCreated () до Database.Migration () Но я получаю Ошибка SQLite 1: Таблица «Пользователь» уже существует .Любая помощь?Код уже в производстве, имеющий Database.EnsureCreated () , но теперь мне нужно перенести и обновить базу данных, но она не работает, и всегда я получаю таблицу, уже существующую ошибка.