У меня есть приложение .net core 2.1, в котором у меня есть небольшая база данных SqlServer 2016, которая содержит только одну таблицу, т.е. Product.
Теперь у меня есть DbContext вроде:
public class DataContext : DbContext
{
public DataContext(DbContextOptions<DataContext> options) : base(options)
{
}
public virtual DbSet<Product> Product { get; set; }
}
и модель продукта:
[DataContract]
public class Product
{
[DataMember]
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[DataMember]
[MaxLength(100)]
public string Name { get; set; }
[DataMember]
public DateTime CreatedDate { get; set; }
[DataMember]
public string CreatedBy { get; set; }
[DataMember]
public DateTime UpdatedDate { get; set; }
[DataMember]
public string UpdatedBy { get; set; }
}
и в файле Program.cs я называю это следующим образом:
var services = scope.ServiceProvider;
var context = services.GetRequiredService<DataContext>();
context.Database.EnsureCreated();
Теперь проблема в том, что в моем проекте не включена миграция иЯ хочу удалить 2 столбца, т. Е. CreatedBy и updatedBy от дБ.Но я должен удалить таблицу, чтобы изменения могли быть отражены.Есть ли способ сделать это без удаления таблицы?Как то, что мы делаем, когда у нас включена миграция.Add-Migration
и Update-Database
.Могу ли я сделать это с context.Database>EnsureCreated()
?