动态数据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?然而,改变它没有任何效果。有人能给我指正确的方向吗?
编译它变得非常容易。我需要添加:
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的顶部也可以。