无法投射类型' Model.Entities'键入' System.Data.Objects.ObjectContext'

时间:2014-05-18 20:57:38

标签: asp.net-mvc asp.net-mvc-3 entity-framework

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

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

1 个答案:

答案 0 :(得分:1)

较新版本的Entity Framework提供DbContext,而ObjectContext则为< = EF 4.0。但是,仍然可以通过IObjectContextAdapter

返回对ObjectContext的引用
 Assembly testAssembly = Assembly.GetExecutingAssembly();
 Type calcType = testAssembly.GetType("Model.Entities");
 var entities = (DbContext)(Activator.CreateInstance(calcType));
 return ((IObjectContextAdapter)entities).ObjectContext;

但就个人而言,我会考虑升级您的代码以返回DbContext,因为它更先进。