MVC,Views和System.Data.Entity
问题描述:
我有一个存储库项目被添加到我的MVC应用程序。MVC,Views和System.Data.Entity
在我的MVC Web应用程序的C#代码中,我必须添加对System.Data.Entity的引用,以便可以从我的Repository访问对象。
因此,如果我没有添加引用,以下失败;
DataRepository<Store> repo = new DataRepository<Store>();
List<Store> allSorted = repo.All(x => x.name);
现在我想该列表传递给我的局部视图,一个有限体积内,它位于和它是我传递给局部视图的有限体积法。
所以index.aspx代码;
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<StoresFVM>" %>
<% Html.RenderPartial("StoreList", Model.StoreListFVM); %>
和ASCX代码;
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<StoreListFVM>" %>
<%
SelectList storeList = new SelectList(Model.Stores.Select(x => new { Value = x.number, Text = x.name }),"Value","Text");
%>
<%= Html.DropDownList("SelectedStore", storeList) %>
但是,我得到一个错误,通知我需要在ascx中包含对System.Data.Entity的引用。我不明白为什么。
我已经尝试将名称空间添加到web.config文件,并且我已经尝试导入ascx页面顶部的名称空间。
想法?
EDIT
\ nasfile02 \的Visual Studio 2010 \项目\ TOM \ TOM \视图\商店\ PartialViews \ StoreList.ascx(4): 错误CS0012:类型“System.Data .Objects.DataClasses.EntityObject' 在未引用的程序集中定义。您必须为程序集“System.Data.Entity,Version = 4.0.0.0, Culture = neutral,PublicKeyToken = b77a5c561934e089”添加一个 引用。
编辑
namespace TOM.FormViewModels
{
public class StoresFVM
{
public StoreListFVM StoreListFVM { get; set; }
}
}
namespace TOM.FormViewModels
{
public class StoreListFVM
{
public List<Store> Stores { get; set; }
}
}
答
你应该确保在web.config看起来如下:
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</compilation>
什么是你确切的错误”重新获得?你也可能想看看[剃刀标签](http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx)。使用''有点过时了。 – JodyT 2013-03-07 23:17:20
发布的错误和Razor一样,但确实如此,但不在我的手中 – griegs 2013-03-07 23:26:26
您向web.config添加了什么内容以及您使用的是哪个版本的.NET? – JodyT 2013-03-07 23:33:19