Entity framework 4 无法将类型为的对象强制转换为类型';System.Data.Objects.ObjectContext

Entity framework 4 无法将类型为的对象强制转换为类型';System.Data.Objects.ObjectContext,entity-framework-4,Entity Framework 4,我一直在学习教程-> 我一直在讨论修改EntityDataSource控件标记以提高性能这一主题。当我通过删除ConnectionString和DefaultContainerName设置ContextTypeName属性时,我收到一条错误消息 无法将“ContosoUniversity.DAL.SchoolEntities”类型的对象强制转换为“System.Data.Objects.ObjectContext”类型。 请注意:使用ConnectionString和DefaultContain

我一直在学习教程->

我一直在讨论修改EntityDataSource控件标记以提高性能这一主题。当我通过删除
ConnectionString
DefaultContainerName
设置
ContextTypeName
属性时,我收到一条错误消息

无法将“ContosoUniversity.DAL.SchoolEntities”类型的对象强制转换为“System.Data.Objects.ObjectContext”类型。


请注意:使用
ConnectionString
DefaultContainerName
可以很好地工作。

尝试下面的MSDN链接文章,解决了我在阅读同一教程时遇到的问题

!

只需在方法SchoolContextEntityDataSource_ContextCreating()中将SchoolContext更改为SchoolEntities

代码如下所示:

protected void SchoolContextEntityDataSource_ContextCreating(object sender,    EntityDataSourceContextCreatingEventArgs e)
{
   var db = new SchoolContext();
   e.Context = (db as IObjectContextAdapter).ObjectContext;
}

using System.Data.Entity.Infrastructure;
致以最良好的祝愿


Adit Malik

首次使用EntityDataSource结构aspx代码中的OnContextCreating方法 然后实现OnContextCreating方法:

    protected void StudentsEntityDataSource_ContextCreating(object sender, EntityDataSourceContextCreatingEventArgs e)
    {
        var db = new ContosoUniversity.DAL.schoolEntities();
        e.Context = (db as IObjectContextAdapter).ObjectContext;
    }
并加上:
使用System.Data.Entity.Infrastructure

您正在使用VS2012吗?如果是这样,本教程的第一部分将包含一个警告,您确实需要注意这一点。你得到的错误很可能就是这样的结果。当你放入一篇文章的链接时,请将它的相关部分也粘贴到堆栈上。这样,如果你的链接断开了,你的帖子仍然会有帮助。