[英]How to delete column from db without having migrations enabled?
我有一个.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()
吗?
我认为如果不启用迁移是不可能的。 因此,我已在我的应用程序中启用了迁移,并将context.Database.EnsureCreated()
更改为context.Database.Migrate()
,现在一切正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.