当前位置:  开发笔记 > 后端 > 正文

在Razor视图中使用System.Data.Linq

如何解决《在Razor视图中使用System.Data.Linq》经验,为你挑选了2个好方法。

我可能对这里发生的事情有一个基本的误解,但是我在剃刀视图中循环使用LinqToSQL类时出现问题:

Owners

@foreach (var ThisOwner in Prop.PropertyOwnerships.Where(p=p.bIsOwner.Value==true)) {
...

我收到以下错误:

编译器错误消息: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风格的东西吗?那似乎......很奇怪?



1> Adam Flanaga..:

您需要通过@using System.Data.Linq在视图顶部添加将命名空间导入视图.但是,如果您想在所有视图中使用它,则需要添加到Views文件夹中的web.config:

  
    
    
      
        
        
        
        
        
      
    
  

虽然不能解决您的问题,但您应该尝试将此逻辑移出视图并进入控制器,这将使调试变得更加容易,并且意味着您的演示文稿与业务逻辑分离.


如果以上操作不起作用(添加到views文件夹中的web.config),您还应该尝试将以下内容添加到主web.config文件中:``
详细说明jao的答案,这里是你如何将它输入web.config:

2> Pedro..:

为我修复的是右键单击System.Data.Linq程序集引用,然后单击属性.在那里将Copy Local设置为true.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有