在 VS2012 中使用动态数据实体网站时出错



我决定在VS2012中使用动态数据实体网站。

因此,我创建了这个网站,然后添加了App_Code目录并向其添加了一个新的edmx并将其命名为myDB.edmx。之后,我取消注释了Global.asax中注册实体上下文的代码行:

DefaultModel.RegisterContext(typeof(myDBEntities), new ContextConfiguration() { ScaffoldAllTables = true });

但是当我运行网站时,会发生此错误:

The context type 'myDBEntities' is not supported.

我该如何解决它?

p.s:现在,通过Dynamic Data L2S Web Site使用L2S和通过Dynamic Data Entities Web Site使用实体框架之间存在一些差异。

我仍在寻找原因,但现在唯一的选择是在VS2010中创建项目,然后将项目迁移到VS2012中,然后运行应用程序没有任何问题

出现此问题的原因是,在 Visual Studio 2012 中,默认情况下,您会收到DbContext(而不是像 Visual Studio 2010 中那样ObjectContext)代码,这些代码是为使用 EF 设计器创建的所有新模型生成的。为了解决一个问题,您需要恢复到ObjectContext代码生成。

有关更多信息,请参见在 EF 设计器中还原到 ObjectContext。

  1. 从模型中删除 TT 文件

  2. 将"代码生成状态"更改为"默认"

在 Global.asax 文件中,取消注释另一个 RegisterContext 行。

 DefaultModel.RegisterContext( _
           New System.Func(Of Object)(Function() DirectCast(New [Your edmx](), IObjectContextAdapter).ObjectContext), _
           New ContextConfiguration() With {.ScaffoldAllTables = True} _
         )

相关内容

  • 没有找到相关文章

最新更新