如何在我的数据库上下文初始化时禁用特定实体的表生成?
public class MyDbContext : DbContext {
public DbSet<MyEntity> MyEntity{ get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
modelBuilder.Ignore<MyEntity>();
base.OnModelCreating(modelBuilder);
}
}
这段代码有帮助,但它完全排除了实体,我仍然需要查询它。
最佳答案
在查看迁移时,EF 将生成的代码(您的数据库结构)与之前生成的代码进行比较:实际上,它并没有每次都与原始数据库进行比较,因此无需过多赘述。
您应该能够通过创建新的迁移、删除/注释掉 UP 中的表创建代码和 DOWN 中的表删除代码以及应用空迁移来绕过它想要创建一个表。它在生成的代码中仍然有 View ,所以它不会尝试再次添加它。
关于c# - 防止为 EF6 中的特定实体生成表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37943808/