[英]Entity Framework 6 - Database schema is not updating
我正在學習EF,我想先使用代碼來處理不同類型的繼承。
我最初從幾節課開始,然后運行了我的應用程序。 我看到數據庫創建時所有類都以表格表示。
但是,當我添加新的類或字段並再次運行該應用程序時,我看不到數據庫架構中的更改。
我已經使用了“ DropCreateDatabaseAlways”,所以我不明白為什么在添加字段和類時為什么沒有使用正確的架構更新數據庫。 有人可以解釋我在做什么錯嗎?
初始代碼:
namespace Domain
{
public class Good
{
public int Id { get; set; }
public string Name { get; set; }
public double BaseValue { get; set; }
}
public class Manufacturer {
public int Id {get; set;}
public ICollection<ManufacturingCapability> ManufacturingCapabilities { get; set; }
}
public class ManufacturingCapability {
public int Id { get; set; }
public ICollection<ManufacturingInput> Inputs { get; set; }
public ICollection<ManufacturingOutput> Outputs { get; set; }
public TimeSpan CycleTime { get; set; }
}
public class ManufacturingInput {
public int Id { get; set; }
public Good Good { get; set; }
public uint Quantity { get; set; }
}
public class ManufacturingOutput {
public int Id { get; set; }
public Good Good { get; set; }
public uint Quantity { get; set; }
}
public class ManufacturingDbContext :DbContext {
public DbSet<Good> Goods { get; set; }
public DbSet<Manufacturer> Manufacturers { get; set; }
public ManufacturingDbContext() : base("name=EFLearnConnectionString") {
Database.SetInitializer<ManufacturingDbContext>(new DropCreateDatabaseAlways<ManufacturingDbContext>());
}
}
}
namespace EFLearning {
class Program {
static void Main(string[] args) {
using (var manufacturingDbContext = new ManufacturingDbContext()) {
var good = new Good() { Name = "Water" };
manufacturingDbContext.Goods.Add(good);
manufacturingDbContext.SaveChanges();
}
}
}
}
運行后,在Management Studio中使用數據庫表:
添加的代碼:
public class Station : Manufacturer {
public string Name { get; set; }
public Vector3 Location { get; set; }
}
我將其添加到上下文中:
public DbSet<Station> Stations { get; set; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.