mca*_*lex 1 c# entity-framework objectcontext
使用EntityFramework,我在App_Code\DAL中创建了一个EntityDataModel(.edmx文件).在向导中,我将实体命名为"DLGDBEntities".我EntityDataSource在.aspx中有一些s,我将OnContextCreating属性设置为'UseSurveyContext',如下所示:
protected void UseSurveyContext(object sender, EntityDataSourceContextCreatingEventArgs e)
{
e.Context = surveyContext;
}
Run Code Online (Sandbox Code Playgroud)
surveyContext的设置代码如下:
DLGDBEntities surveyContext;
Run Code Online (Sandbox Code Playgroud)
并在Page_Load中:
surveyContext = new DLGDBEntities();
Run Code Online (Sandbox Code Playgroud)
以上所有内容看起来与我在每个教程中看到的代码相同(例如:http://msdn.microsoft.com/en-us/library/cc668193.aspx#1),我可以发誓我已经拥有了它工作.
然而,现在,我收到错误: Cannot implicitly convert type 'DAL.DLGDBEntities' to 'System.Data.Objects.ObjectContext'
我做错了什么,为什么之前有效呢?
EntityDataSource控件仅适用于ObjectContext.您可以使用从DbContext获取ObjectContext ((IObjectContextAdapter)context).ObjectContext.请注意,在Visual Studio 2012中,默认代码生成器已更改为生成POCO实体和DBContext,而不是从EntityObject和ObjectContext派生的实体,这是Visual Studio 2010中的默认实现.
编辑
正如Sven在评论中指出的那样,一个新的EF6兼容版本的EntityDataSourceControl已经发布,它采用了EF6 DbContext实例.