Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC 3 Razor视图,在另一个项目中使用实体模型_C#_Asp.net_Entity Framework_Asp.net Mvc 3_Razor - Fatal编程技术网

C# MVC 3 Razor视图,在另一个项目中使用实体模型

C# MVC 3 Razor视图,在另一个项目中使用实体模型,c#,asp.net,entity-framework,asp.net-mvc-3,razor,C#,Asp.net,Entity Framework,Asp.net Mvc 3,Razor,我正在学习MVC3、Razor和EF模型 我有一个项目,我在一个独立的项目中定义了EF模型,该项目与主web项目不同。我试图在视图中使用该模型访问数据 我得到这个错误: 我将System.Data.Entity添加到我的引用中 控制器: public ActionResult ListRole() { AuthDbContainer db = new AuthDbContainer(); List<Role> roles = db.Roles.ToList();

我正在学习MVC3、Razor和EF模型

我有一个项目,我在一个独立的项目中定义了EF模型,该项目与主web项目不同。我试图在视图中使用该模型访问数据

我得到这个错误:

我将System.Data.Entity添加到我的引用中

控制器:

public ActionResult ListRole()
{
    AuthDbContainer db = new AuthDbContainer();
    List<Role> roles = db.Roles.ToList();

    return View(roles);
}
公共操作结果列表角色()
{
AuthDbContainer db=新的AuthDbContainer();
List roles=db.roles.ToList();
返回视图(角色);
}
视图:

@model IEnumerable
@{
ViewBag.Title=“角色列表”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
列表角色

@ActionLink(“新建”、“创建”)

描述 创建日期 @foreach(模型中的var项目) { @DisplayFor(modelItem=>item.desc) @DisplayFor(modelItem=>item.createDate) @ActionLink(“编辑”,“编辑”,新的{id=item.roleName})| @ActionLink(“详细信息”,“详细信息”,新的{id=item.roleName})| @ActionLink(“删除”,“删除”,新的{id=item.roleName}) }
谢谢你的帮助

更新


发生此错误是因为my web.config中的程序集引用丢失。它已添加到项目中的我的引用中,但未添加到web.config中。IIS在我的错误消息中几乎告诉了我这一点。我本应该读得更好。对不起,浪费了大家的时间。我在web.config中添加了以下内容,现在效果很好:

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

Web.Config
添加名称空间是不够的。当您将它们添加到
Web.Config
时,它们在视图中充当
指令

因此,在MVC项目中需要
引用
系统.Data.Entity
。(右键单击MVC项目中的
References
,然后单击
addreference
等等…)

此外,如果要使用
指令向Razor视图添加
,则需要按如下方式添加

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
您需要按如下方式配置节组

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>

然后



您是否在MVC项目中添加了对
EntityFramework
的引用?

Web.Config
添加命名空间是不够的。当您将它们添加到
Web.Config
时,它们在视图中用作
使用的
指令

因此,在MVC项目中需要
引用
系统.Data.Entity
。(右键单击MVC项目中的
References
,然后单击
addreference
等等…)

此外,如果要使用
指令向Razor视图添加
,则需要按如下方式添加

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
您需要按如下方式配置节组

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>

然后



您是否在MVC项目中添加了对EntityFramework的引用?

发生此错误的原因是my web.config中的程序集引用丢失。它已添加到项目中的我的引用中,但未添加到web.config中。IIS在我的错误消息中几乎告诉了我这一点。我本应该读得更好。对不起,浪费了大家的时间。我在web.config中添加了以下内容,现在效果很好:

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

发生此错误是因为my web.config中的程序集引用丢失。它已添加到项目中的我的引用中,但未添加到web.config中。IIS在我的错误消息中几乎告诉了我这一点。我本应该读得更好。对不起,浪费了大家的时间。我在web.config中添加了以下内容,现在效果很好:

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />


它已经添加到参考资料中,不过我会尝试你的其他建议。当前它不是system.web如果我尝试此操作,则会出现另一个错误:无法识别的配置部分system.web.webPages.razor。但它会在web.config中自动完成,因此它必须位于正确的位置。@m4tt1mus编辑的答案。尝试将
sectionGroup
添加到
Web.Config
中,并在MVC项目中引用
EntityFramework
。嗯。。。System.Data.Entity是我非常确定的实体框架。@m4tt1mus在RazorIt中全局配置名称空间的步骤已经添加到引用中,不过我将尝试您的其他建议。当前它不是system.web如果我尝试此操作,则会出现另一个错误:无法识别的配置部分system.web.webPages.razor。但它会在web.config中自动完成,因此它必须位于正确的位置。@m4tt1mus编辑的答案。尝试将
sectionGroup
添加到
Web.Config
中,并在MVC项目中引用
EntityFramework
。嗯。。。System.Data.Entity是我非常确定的实体框架。@m4tt1mus在Razor中全局配置名称空间