我决定在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
之间使用实体框架之间存在一些差异。
答案 0 :(得分:5)
我仍然在寻找原因,但现在唯一的选择是在VS2010中创建项目,然后将项目迁移到VS2012,然后运行应用程序时没有任何问题
答案 1 :(得分:2)
发生此问题是因为在Visual Studio 2012中,您获得了DbContext
(而不是Visual Studio 2010中的ObjectContext
)默认情况下为使用EF Designer创建的所有新模型生成的代码。为了解决这个问题,您需要恢复ObjectContext
代码生成。
有关详细信息,请参阅Reverting to ObjectContext in EF Designer。
答案 2 :(得分:0)
Delete the TT files from the model
Change the "Code Generation Stategy" to "Default"
答案 3 :(得分:0)
在Global.asax文件中,取而代之的是取消注释其他RegisterContext行。
DefaultModel.RegisterContext( _
New System.Func(Of Object)(Function() DirectCast(New [Your edmx](), IObjectContextAdapter).ObjectContext), _
New ContextConfiguration() With {.ScaffoldAllTables = True} _
)