我正在创建我的第一个asp.net MVC网站(版本3)。
我正在使用Entity Framework从我的数据库中获取数据,所以现在我的数据库中有一个电影列表。
我正在尝试显示一个显示这些电影列表的页面。
因此,控制器似乎没问题,它返回一个View(IEnumerable)。
在视图中,我指定了我的模型类型:
@model IEnumerable
Movie是一个使用我的edmx中的T4模板生成的类,所以它是从EntityObject中获取的。
现在,当我尝试显示我的页面时,我收到一个错误,表明我要导入System.Data.Entity:
>应用程序中的服务器错误。编译错误
描述:期间发生错误 编译所需的资源 为此请求提供服务。请查阅 以下具体错误详情 并修改您的源代码 适当。
编译器错误消息:CS0012:Le 类型 'System.Data.Objects.DataClasses.EntityObject' estdéfinidansun assembly qui n'est pasréférencé。 Vous devez ajouter une référenceàl'asseding 'System.Data.Entity,Version = 4.0.0.0, 文化=中性, 公钥= b77a5c561934e089' 。
来源错误:
第27行:第28行:第29行:
公共课 _Page_Views_Movie_List_cshtml:System.Web.Mvc.WebViewPage> {第30行:第31行:#line 隐藏源文件: C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \临时 ASP.NET 文件\ ROOT \ 93402ec0 \ 8f8e48f4 \ App_Web_list.cshtml.9612c299.pwpwk,k5.0.cs 行:29
但是,我在我的项目中引用了这个dll,并且我在我的控制器中使用了相应的。
我试图在cshtml中使用它: @using System.Data.Entity但它没有编译(在System.Data中找不到实体)
那我该怎么办?
我的所有项目都是.Net 4(不是客户资料)
答案 0 :(得分:3)
将以下行添加到您的web.config
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
答案 1 :(得分:1)
OR 在您的实体所在的任何项目中使用POCO Entity.Net模板,以免您在mvc项目中对该库的依赖。
答案 2 :(得分:1)
对于Asp.Net Mvc 2和3
<compilation debug="true" targetFramework="4.0" >
<assemblies>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
...
</assemblies>
对于ASP.NET MVC 4(.NET4.5)更改
<system.web>
<compilation debug="true" targetFramework="4.0" />
到
<system.web>
<compilation debug="true" targetFramework="4.0" >
<assemblies>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</assemblies>
</compilation>
答案 3 :(得分:0)
请尝试指定类型化的枚举,如
@model IEnumerable<MyEntityObjectType>