我全新安装了带有更新 2 的 VS2012。我创建了一个“ASP.NET 动态数据实体 Web 应用程序”的新项目。然后我添加一个“ADO.NET 实体数据模型”,它是我从现有 SQLServerExpress 数据库生成的。
但是,当我去构建解决方案时,出现以下错误:
The type or namespace name 'IObjectContextAdapter' could not be found (are you missing a using directive or an assembly reference?)
这似乎是在 System.Data.Entity.Infrastructure
中声明的,但我无法在任何地方找到该程序集。正如我的 packages.config 所示,我已验证我已为该解决方案安装了 EF5:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="5.0.0" targetFramework="net45" />
</packages>
EntityFramework 引用属性显示:
RuntimeVersion: v4.0.30319
Version: 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 模板似乎不包含此内容。
关于c# - 动态数据 IObjectContextAdapter 缺少引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16146423/