簡體   English   中英

使用代碼首次遷移時,無法通過Visual Studio中的服務器資源管理器手動在表中插入數據

[英]cannot insert data in table manually through server explorer in visual studio when code first migration is used

我想在表中手動插入數據。 當我這樣做時,我會收到此錯誤[請參見下圖]如何解決此問題,請幫助錯誤附加圖片

由於標記了此遷移,因此您似乎試圖將數據獲取到表中,該機制稱為“ 種子” 您可以像這樣覆蓋Seed()方法:

protected override void Seed(MyDbContext context)
{
    context.Customers.AddOrUpdate(
        c => c.Name,   // Use Name (or some other unique field) instead of Id
        new Customer
        {
            Name = "Customer 1",
            IsSubscribed = false,
            MembershipTypeId = 1 // A value from MembershipType table
        },
        new Customer
        {
            Name = "Customer 2",
            IsSubscribed = true,
            MembershipTypeId = 2 // A value from MembershipType table
        });

    context.SaveChanges();
}

現在,當您運行update-database此代碼將運行,並且如果客戶不在數據庫中,則會將其添加。 如果刪除數據庫,則下次運行遷移時將添加它們。

如果只想手動插入,則需要在該列中提供有效的MembershipTypeId(在MembershipType表中搜索有效值)。

暫無
暫無

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

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