C# &引用;序列不包含任何元素”;在数据库种子期间出错

C# &引用;序列不包含任何元素”;在数据库种子期间出错,c#,entity-framework-6,C#,Entity Framework 6,当我在Seed方法中运行以下代码时,包管理器控制台不断抛出“Sequence contains no elements”错误 我需要让南非国家对象执行其余步骤(未显示) 如果使用FirstOrDefault或SingleOrDefault,系统将返回null,这将中断其余步骤 当我清楚地添加了数据时,为什么我的上下文返回null 我尝试过保存更改,但这会导致其他错误 谢谢您需要调用SaveChanges()将更改应用于数据库。在你这么做之前,实际上什么都没有写 context.SaveChang

当我在Seed方法中运行以下代码时,包管理器控制台不断抛出“Sequence contains no elements”错误

我需要让南非国家对象执行其余步骤(未显示)

如果使用FirstOrDefault或SingleOrDefault,系统将返回null,这将中断其余步骤

当我清楚地添加了数据时,为什么我的上下文返回null

我尝试过保存更改,但这会导致其他错误


谢谢

您需要调用SaveChanges()将更改应用于数据库。在你这么做之前,实际上什么都没有写

context.SaveChanges();
Country za = context.Countries.Where(x => x.Name == "South Africa").First();

如果SaveChanges()抛出错误,那么这才是您真正的问题,您应该发布该错误。

您需要调用SaveChanges()将更改应用于数据库。在你这么做之前,实际上什么都没有写

context.SaveChanges();
Country za = context.Countries.Where(x => x.Name == "South Africa").First();

如果SaveChanges()抛出错误,那么这才是您真正的问题,您应该发布它。

不是答案,但您可以重新编写context.Countries.Where(x=>x.Name==“南非”).First();作为context.Countries.Single(x=>x.Name==“南非”);在SaveChanges()上会出现哪些错误?此外,您可以使用context.Countries.Local.Where(…@UrbanEsc)查询您的本地实体,我得到“一个或多个实体的验证失败。有关更多详细信息,请参阅'EntityValidationErrors'属性”…在更深入的调查中,这使我找到了MaxLenth(2),它应该是MaxLength(3)。谢谢。不是答案,但您可以重新编写context.Countries.Where(x=>x.Name==“南非”).First();作为context.Countries.Single(x=>x.Name==“南非”);在SaveChanges()上会出现什么错误?此外,您还可以使用context.Countries.Local.Where(…@UrbanEsc,我得到)“一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。”…经过更深入的调查,这使我找到了一个MaxLenth(2),它应该是MaxLength(3)。谢谢。您可能想添加一个选项,可以使用context.Countries.local.Where查询本地实体(…他可以。但这是
Seed
方法。这并不能真正解决他的问题。@UrbanEsc关于savechanges错误的评论让我调查并找到真正的错误。您可能想补充一点,可以使用context.Countries.local.Where查询本地实体(…他可以。但这是
Seed
方法。这并不能真正解决他的问题。@UrbanEsc关于savechanges错误的评论引导我调查并找到真正的错误。