簡體   English   中英

Database.EnsureCreated無法正常工作

[英]Database.EnsureCreated not working

我正在使用下面列出的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方法也不應該忽略它嗎? 我在這里想念什么嗎?

不要調用確保在您的構造函數中創建的方法,而是在應用啟動過程中調用一次

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM