簡體   English   中英

使用遷移實體框架核心添加數據而無需指定ID

[英]Add data using migration Entity Framework Core without specifying the id

我想使用EF遷移在數據庫中添加一些數據。 事實是所有ID都是自動生成的。 我找到了使用EF Core實現此目標的標准方法,如下所示

modelBuilder.Entity<TypeNote>()
    .HasData(
    new TypeNote { Id = 1, Name = "General" },
    new TypeNote { Id = 2, Name = "E-mail" },
    new TypeNote { Id = 3, Name = "Meeting" },
    new TypeNote { Id = 4, Name = "Reminder" },
    new TypeNote { Id = 5, Name = "Telephone" },
    new TypeNote { Id = 6, Name = "Visit" }
);

我的問題是我不想指定Id ,但是似乎沒有其他方法可以使用HasData方法。

您知道使用遷移在數據庫內部添加數據的另一種方法嗎?

我找到了一種在遷移過程中進行插入的方法:

        migrationBuilder.InsertData(
            table: "TypeNote",
            columns: new[] { "Name" },
            values: new object[,]
            {
                { "Test" },
                { "Test1" }
        });

事實是,我想在遷移內部訪問dbContext。 這是不可能的,因為數據庫正在更新。

這是HasData的標准。 自動生成的字段不會使用HasData方法生成。

請查看此EntityFrameworkCore問題

我認為您正在尋找的被稱為“種子數據”

請查看此Microsoft Doc ,了解如何將種子數據添加到數據庫中,並讓我知道您是否正在尋找它。

暫無
暫無

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

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