动态数据IObjectContextAdapter缺少引用

问题描述 投票:6回答:3

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

但是,当我去构建解决方案时,我收到以下错误:

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

这似乎是在System.Data.Entity.Infrastructure宣布,但我无法在任何地方找到这个集会。我已经验证我已经为解决方案安装了EF5,因为我的packages.config显示:

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

EntityFramework引用属性显示:

Runtimeversion:h.0.030319 版本: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?然而,改变它没有任何影响。有人可以指点我正确的方向吗?

c# asp.net entity-framework-5
3个回答
6
投票

得到这个编译结果非常简单。我需要补充一下:

using System.Data.Entity.Infrastructure;

到Global.asax.cs。似乎T4模板不包含此默认值。


0
投票

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

右键单击Visual Studio Solution Explorer中的解决方案,单击Manage Nuget packages for solutions并安装EntityFramework。

一旦安装,我仍然有错误,但然后重新安装:

Update-Package -reinstall

在程序包管理器控制台(视图>其他窗口>程序包管理器控制台)中执行此操作。 现在一切都很好!

来自:https://stackoverflow.com/a/52257676/125938


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

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

© www.soinside.com 2019 - 2024. All rights reserved.