【问题标题】:EF6 Type of context 'System.Data.Entity.Core.Objects.ObjectContext' is not supported不支持上下文“System.Data.Entity.Core.Objects.ObjectContext”的 EF6 类型
【发布时间】:2013-12-11 15:27:38
【问题描述】:

我有一个使用带有 ADO.NET 实体数据模型 (EF6) 的 Visual Studio 2013 创建的新项目。

现在我必须使用一些动态数据函数(比如访问 MetaTable 对象),所以我添加了以下代码:

MetaModel model = new MetaModel();
        model.RegisterContext(() =>
        {
            return ((System.Data.Entity.Infrastructure.IObjectContextAdapter)new KiwiJuiceEntities()).ObjectContext;
        }, new ContextConfiguration() { ScaffoldAllTables = true });

但我遇到了这个错误:

Type of context 'System.Data.Entity.Core.Objects.ObjectContext' is not supported

请注意,该项目已将引用更新为 EF6 (system.data.entity.core)

【问题讨论】:

    标签: c# asp.net entity-framework objectcontext


    【解决方案1】:

    EF6 的动态数据提供程序和 EntityDataSource 控件的新预览版已发布。请检查一下,它对我有用。

    http://blogs.msdn.com/b/webdev/archive/2014/01/30/announcing-preview-of-dynamic-data-provider-and-entitydatasource-control-for-entity-framework-6.aspx#

    注册提供者:

    MetaModel model = new MetaModel();
    model.RegisterContext(
        new Microsoft.AspNet.DynamicData.ModelProviders.EFDataModelProvider(
           () => new KiwiJuiceEntities()
        ),
        new ContextConfiguration() { ScaffoldAllTables = true }
    );     
    

    【讨论】:

      【解决方案2】:

      DynamicData 不支持 EntityFramework 6,因此降级到 EF 5“解决”了问题。

      【讨论】:

      【解决方案3】:

      是的。

      EF 6 没有System.Data.Objects.ObjectContext。 EF 6 已移动 一些类型,包括ObjectContext,来自System.Data.Entity.dll 进入EntityFramework.dll,并更改了它们的命名空间。事实 你得到这个错误表明你没有尝试重新编译 您的应用程序,您只需替换 EntityFramework.dll 和 希望是最好的。那是行不通的。您需要将代码更新为 使用 EF 6:您需要删除对 System.Data.Entity.dll,并更新您的代码以引用新的 类型。

      这只是可能的参考 IObjectContextAdapter.ObjectContext 属性在某个库中 您正在使用,但很可能它会在您自己的代码中。错误 消息(在您的问题中未包含的部分)应该告诉 你是从哪里来的。

      参考文献:

      【讨论】:

      • 我没有旧的参考,注意报错正确的命名空间:System.Data.Entity.Core.Objects.ObjectContext...
      • 是的,我明白了!我只是忽略了!道歉!
      猜你喜欢
      • 2014-08-21
      • 1970-01-01
      • 2020-12-01
      • 1970-01-01
      • 2018-06-18
      • 2019-04-21
      • 2011-06-21
      • 1970-01-01
      相关资源
      最近更新 更多