我最近从 EF 4.3.1 升级到 4.4 并且开始发生一些奇怪的事情。自升级以来我已经接触过代码,所以我不能 100% 肯定地说是导致这个问题的原因。
无论如何,当我删除现有数据库并从 PM 控制台调用 Update-Database 时,它会创建一个数据库,但使用我的上下文的完全限定名称。即,MyProject.Data.MyContext。以前,它只是创建了一个名为 MyContext 的数据库。我可以初始化数据库中的一堆数据用于测试目的,但是当应用程序运行时,它说数据库中没有任何内容。
当我查看数据库时,我看到现在有另一个名为 MyContext 的数据库(就像过去一样)。当我在该数据库中初始化测试数据时,应用程序运行得很好并且可以看到数据。
我正在覆盖 OnModelCreating 方法。基本上它看起来像这样:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{//My modelBuilder stuff.
base.OnModelCreating(modelBuilder);}
这种方法没有太大变化,所以我认为这不是罪魁祸首。有没有人遇到过这个问题?如果您希望我发布更多代码,请告诉我。