Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 EF5在播种时断裂_Asp.net Mvc 3_Entity Framework_Seeding - Fatal编程技术网

Asp.net mvc 3 EF5在播种时断裂

Asp.net mvc 3 EF5在播种时断裂,asp.net-mvc-3,entity-framework,seeding,Asp.net Mvc 3,Entity Framework,Seeding,我将我的MVC项目从EF4.3.1升级到最新的EF5。从那时起,我的数据库将始终无法初始化。如果我将引用更改回EF4.3.1,则一切正常。有什么好处 public class ArticleInitializer : DropCreateDatabaseAlways<ArticleContext> { protected override void Seed(ArticleContext context) { Config.Articles.ForEa

我将我的MVC项目从EF4.3.1升级到最新的EF5。从那时起,我的数据库将始终无法初始化。如果我将引用更改回EF4.3.1,则一切正常。有什么好处

public class ArticleInitializer : DropCreateDatabaseAlways<ArticleContext>
{
    protected override void Seed(ArticleContext context)
    {
        Config.Articles.ForEach(article => context.Articles.Add(article));
        Config.Categories.ForEach(category => context.Articles.Add(category));
        Config.CareerAreas.ForEach(careerArea => context.Articles.Add(careerArea));
        context.SaveChanges();
    }
}
公共类ArticleInitializer:DropCreateDatabaseAlways
{
受保护的覆盖无效种子(ArticleContext上下文)
{
Config.Articles.ForEach(article=>context.Articles.Add(article));
Config.Categories.ForEach(category=>context.Articles.Add(category));
Config.CareerAreas.ForEach(careerArea=>context.Articles.Add(careerArea));
SaveChanges();
}
}

Config.Articles、Config.Categories和Config.careerArea是否属于同一类型?因为它们都添加到同一个DbSet…?是的,它们都是同一类型的。另一个奇怪的是,我可以注释掉Config.Articles行,类别和职业领域就可以了。但关键是我的代码在EF4.3中运行良好,而不是在EF5.OK中。种子如何失败,有错误消息吗?还有一个想法,当我超过Seed()时,我从不调用SaveChanges(),我认为这是在调用方法(EF4.3)中完成的,我注释掉了context.SaveChanges()行。只要我的种子数据不超出模型的约束,这似乎就解决了问题。谢谢你的帮助Daniel.Config.Articles、Config.Categories和Config.CareerAreas都是同一类型的吗?因为它们都添加到同一个DbSet…?是的,它们都是同一类型的。另一个奇怪的是,我可以注释掉Config.Articles行,类别和职业领域就可以了。但关键是我的代码在EF4.3中运行良好,而不是在EF5.OK中。种子如何失败,有错误消息吗?还有一个想法,当我超过Seed()时,我从不调用SaveChanges(),我认为这是在调用方法(EF4.3)中完成的,我注释掉了context.SaveChanges()行。只要我的种子数据不超出模型的约束,这似乎就解决了问题。谢谢你的帮助,丹尼尔。