繁体   English   中英

EntityDataSource中的ContextCreating方法无法将实体转换为ObjectContext

[英]ContextCreating method in EntityDataSource cannot convert Entities to ObjectContext

使用EntityFramework,我在App_Code \\ DAL中创建了一个EntityDataModel(.edmx文件)。 在向导中,我将实体命名为“ DLGDBEntities”。 我在.aspx中有许多EntityDataSource ,在其中我已将OnContextCreating属性设置为'UseSurveyContext',如下所示:

protected void UseSurveyContext(object sender, EntityDataSourceContextCreatingEventArgs e)
{
   e.Context = surveyContext;
}

SurveyContext的设置代码如下:

DLGDBEntities surveyContext;

并在Page_Load中:

surveyContext = new DLGDBEntities();

以上所有内容看起来都与我在每个教程中看到的代码相同(例如: http : //msdn.microsoft.com/en-us/library/cc668193.aspx#1 ),我可以发誓我已经拥有过它工作。

但是,现在出现错误: Cannot implicitly convert type 'DAL.DLGDBEntities' to 'System.Data.Objects.ObjectContext'

我做错了什么?为什么以前做过?

EntityDataSource控件仅适用于ObjectContext。 您可以使用((IObjectContextAdapter)context).ObjectContext从DbContext获取ObjectContext。 请注意,在Visual Studio 2012中,默认代码生成器已更改为生成POCO实体和DBContext,而与从EntityObject和ObjectContext派生的实体相反,后者是Visual Studio 2010中的默认值。

编辑

正如Sven在评论中指出的那样,已发布了与EF6兼容的新版本EntityDataSourceControl,它采用EF6 DbContext实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM