gpt4 book ai didi

c# - MVC3 Razor View,在另一个项目中使用实体模型

转载 作者:太空宇宙 更新时间:2023-11-03 19:28:26 24 4
gpt4 key购买 nike

我正在学习 MVC 3、Razor 和 EF Model First。

我有一个正在处理的项目,我在与主 Web 项目不同的项目中定义了 EF 模型。我正在尝试在 View 中使用该模型访问数据。

我得到这个错误: enter image description here

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

Controller :

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

return View(roles);
}

查看:

@model IEnumerable<WebSecurity.Role>
@{
ViewBag.Title = "Role List";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<!DOCTYPE html>
<html>
<head>
<title>ListRole</title>
</head>
<body>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
desc
</th>
<th>
createDate
</th>
<th>
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.desc)
</td>
<td>
@Html.DisplayFor(modelItem => item.createDate)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.roleName }) |
@Html.ActionLink("Details", "Details", new { id = item.roleName }) |
@Html.ActionLink("Delete", "Delete", new { id = item.roleName })
</td>
</tr>
}
</table>
</body>
</html>

感谢您的帮助。

更新

发生此错误是因为我的 web.config 中的程序集引用丢失了。它被添加到我在项目中的引用中,但没有添加到 web.config 中。 IIS 几乎在我的错误消息中告诉了我这一点。我应该读得更好。抱歉浪费任何人的时间。我将以下内容添加到我的 web.config 中,现在效果很好:

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

最佳答案

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

因此您的 MVC 项目中需要 Reference System.Data.Entity。 (在您的 MVC 项目中右键单击 References,然后单击 Add Reference 等等...)

此外,如果您想将 using 指令添加到您的 Razor View ,您需要按如下方式添加它

你需要配置section groups如下

<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>

然后

  <system.web.webPages.razor>
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
<add namespace="System.Data.Entity" />
</namespaces>
</pages>
</system.web.webPages.razor>

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

关于c# - MVC3 Razor View,在另一个项目中使用实体模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6804691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com