我有一个.net core 2.1应用程序,其中有一个小型SqlServer 2016数据库,该数据库仅包含一个表即Product。
现在我有一个DbContext了:
Link Framework SDKs Only
和产品型号:
public class DataContext : DbContext
{
public DataContext(DbContextOptions<DataContext> options) : base(options)
{
}
public virtual DbSet<Product> Product { get; set; }
}
在Program.cs文件中,我这样称呼:
[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; }
}
现在的问题是我没有在项目中启用迁移,我想从数据库中删除2列,即CreatedBy和UpdatedBy。但是我必须删除表,以便可以反映出更改。反正有没有删除表吗?就像我们启用迁移时所做的一样。
var services = scope.ServiceProvider;
var context = services.GetRequiredService<DataContext>();
context.Database.EnsureCreated();
和Add-Migration
。我可以用Update-Database
吗?
答案 0 :(得分:0)
我认为如果不启用迁移是不可能的。因此,我已在应用程序中启用了迁移,并将context.Database.EnsureCreated()
更改为context.Database.Migrate()
,现在一切正常。