gpt4 book ai didi

linq-to-sql - 在Razor View 中使用System.Data.Linq

转载 作者:行者123 更新时间:2023-12-03 08:52:48 25 4
gpt4 key购买 nike

我可能对这里发生的事情有基本的误解,但是在 Razor View 中循环遍历LinqToSQL类时遇到问题:

<h3>Owners</h3>
@foreach (var ThisOwner in Prop.PropertyOwnerships.Where(p=p.bIsOwner.Value==true))
{
<div class="ODEditEntry">
...

我收到以下错误:

编译器错误消息:CS0012:类型'System.Data.Linq.EntitySet`1'在未引用的程序集中定义。您必须添加对程序集'System.Data.Linq,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用。

我尝试将@using System.Data.Linq放在cshtml文件的顶部,但它告诉我Linq在System.Data命名空间中不存在。这显然是不正确的,是的,我的项目中确实有system.data.linq作为引用。

这里有什么想法吗?需要进口吗?我能不能在 Razor View 中不使用Linq风格的东西?好像...。奇怪吗?

最佳答案

您需要通过在 View 顶部添加@using System.Data.Linq将 namespace 导入 View 。但是,如果您希望在所有 View 中都使用它,则需要将<add namespace="System.Data.Linq" />添加到Views文件夹中的web.config中:

  <system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<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.Data.Linq" />
</namespaces>
</pages>
</system.web.webPages.razor>

尽管与您的问题无关,但您应该真正尝试将这种逻辑移出 View 并移入 Controller ,但这将使调试变得容易得多,这意味着您的演示文稿与业务逻辑是分离的。

关于linq-to-sql - 在Razor View 中使用System.Data.Linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5896842/

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