无法将类型 'Model.Entities' 的对象强制转换为类型 'System.Data.Objects.ObjectContext'



MVC3 EF5。它运行得很好。但是当我从数据库更新模型时,构建成功,但我在最后一行得到了上面的异常。当我最后一次从数据库更新是2-3个月前,它是好的。

 public static ObjectContext GetContext()
 {
     Assembly testAssembly = Assembly.GetExecutingAssembly();
     Type calcType = testAssembly.GetType("Model.Entities");
     return (ObjectContext)Activator.CreateInstance(calcType);
 }

新版本的实体框架提供DbContext,而不是<= EF 4.0的ObjectContext。但是,仍然可以通过IObjectContextAdapter

返回对ObjectContext的引用。
 Assembly testAssembly = Assembly.GetExecutingAssembly();
 Type calcType = testAssembly.GetType("Model.Entities");
 var entities = (DbContext)(Activator.CreateInstance(calcType));
 return ((IObjectContextAdapter)entities).ObjectContext;
然而,就我个人而言,我会考虑升级你的代码以返回DbContext,因为它更先进。

最新更新