我正在玩下面列出的Entity Framework 7版本
"EntityFramework.Core": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"
我的DatabaseContext類非常簡單
public class WorldContext : DbContext
{
public DbSet<Trip> Trip { get; set; }
public DbSet<Stop> Stop { get; set; }
public WorldContext()
{
Database.EnsureCreated();
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connectionString = Startup.Configuration["Data:WorldContextConnection"];
optionsBuilder.UseSqlServer(connectionString);
base.OnConfiguring(optionsBuilder);
}
}
我在構造函數中遇到Database.EnsureCreated
方法時遇到問題。據我所知,這個方法應該確保數據庫在不存在的情況下被創建,否則它應該什麼都不做。當我通過我的DatabaseContext類代碼調試時,我點擊了在Database.EnsureCreated
方法上設置的斷點,當執行繼續時,斷點被第二次命中(這不是預期的),因此DatabaseContext構造函數由於某種原因輸入了兩次。在第二次命中時拋出以下異常
即使數據庫存在, EnsureCreated
方法也不應該忽略它嗎?我在這裡錯過了什麼嗎?