Aus*_*ree 31 linq-to-sql razor asp.net-mvc-3
我可能对这里发生的事情有一个基本的误解,但是我在剃刀视图中循环使用LinqToSQL类时出现问题:
<h3>Owners</h3>
@foreach (var ThisOwner in Prop.PropertyOwnerships.Where(p=p.bIsOwner.Value==true))
{
<div class="ODEditEntry">
...
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
编译器错误消息: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作为我项目中的参考.
这里有什么想法?需要进口吗?在剃须刀的观点中,我可以不做Linq风格的东西吗?那似乎......很奇怪?
Ada*_*gan 48
您需要通过@using System.Data.Linq在视图顶部添加将命名空间导入视图.但是,如果您想在所有视图中使用它,则需要添加<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>
Run Code Online (Sandbox Code Playgroud)
虽然不能解决您的问题,但您应该尝试将此逻辑移出视图并进入控制器,这将使调试变得更加容易,并且意味着您的演示文稿与业务逻辑分离.
| 归档时间: |
|
| 查看次数: |
44654 次 |
| 最近记录: |