[英]Adding Entity Framework core migration without using other projects
[英]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.