动态数据IObjectContextAdapter缺少引用

本文关键字:引用 IObjectContextAdapter 数据 动态 | 更新日期: 2023-09-27 18:10:22

我有一个带有更新2的VS2012的新安装。我创建了一个新项目"ASP.NET动态数据实体Web应用程序"。然后,我添加了一个"ADO.NET实体数据模型",它是我从现有的SQLServerExpress数据库中生成的。

然而,当我去构建解决方案时,我得到了以下错误:

找不到类型或命名空间名称"IObjectContextAdapter"(是否缺少using指令或程序集引用?(

这似乎是在System.Data.Entity.Infrastructure中声明的,但我在任何地方都找不到该程序集。我已经验证了我已经为我的软件包安装了EF5。配置显示:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="EntityFramework" version="5.0.0" targetFramework="net45" />
</packages>

EntityFramework引用属性显示:

运行时版本:v4.0.30119
版本:5.0.0.0

在web.config中,我有:

  <assemblies>
    <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
  </assemblies>

这看起来是错误的,应该说是5.0.0.0?然而,改变它没有任何效果。有人能给我指正确的方向吗?

动态数据IObjectContextAdapter缺少引用

编译它变得非常容易。我需要添加:

using System.Data.Entity.Infrastructure;

到Global.asax.cs。T4模板似乎不包括这一点。

确保为您的项目安装了EntityFramework Nuget包。

在Visual Studio解决方案资源管理器中右键单击解决方案,单击管理解决方案的Nuget包并安装EntityFramework。

一旦安装好,我仍然有错误,但随后进行了重新安装:

Update-Package -reinstall

在Package Manager控制台(查看>其他窗口>Package Manager控制台(中执行此操作
现在一切都好了!

发件人:https://stackoverflow.com/a/52257676/125938

<%@ Import Namespace="System.Data.Entity.Infrastructure" %>

将这一行添加到global.asax的顶部也可以。