数据库种子期间出现“序列不包含任何元素”错误
本文关键字:何元素 包含任 元素 错误 种子 数据库 | 更新日期: 2023-09-27 18:31:06
当我在 Seed 方法中运行以下代码时,包管理器控制台不断抛出"序列不包含任何元素"错误。
context.Countries.AddOrUpdate(c => c.Name,
new Country { IsInUse = true, Name = "Botswana", Alpha2 = "BW", Alpha3 = "BWA" },
new Country { IsInUse = true, Name = "Lesotho", Alpha2 = "LS", Alpha3 = "LSO" },
new Country { IsInUse = true, Name = "Mozambique", Alpha2 = "MZ", Alpha3 = "MOZ" },
new Country { IsInUse = true, Name = "South Africa", Alpha2 = "ZA", Alpha3 = "ZAF" },
new Country { IsInUse = true, Name = "Swaziland", Alpha2 = "SZ", Alpha3 = "SWZ" },
new Country { IsInUse = true, Name = "Zimbabwe", Alpha2 = "ZW", Alpha3 = "ZWE" }
);
Country za = context.Countries.Where(x => x.Name == "South Africa").First();
我需要让南非国家/地区对象执行其余步骤(未显示)。
如果我使用 FirstOrDefault 或 SingleOrDefault,系统会返回一个 null,这会中断其余步骤。
为什么当我清楚地添加数据时,我的上下文返回 null。
我尝试过保存更改,但这会导致其他错误。
谢谢
您需要
调用 SaveChanges() 才能将更改应用于数据库。 在你这样做之前,实际上什么都没有写。
context.SaveChanges();
Country za = context.Countries.Where(x => x.Name == "South Africa").First();
如果 SaveChanges() 抛出错误,那么这就是你真正的问题,你应该发布它。