【发布时间】:2023-04-03 08:36:01
【问题描述】:
我可能对这里发生的事情有一个根本的误解,但是我在我的剃刀视图中循环通过 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 作为参考。
这里有什么想法吗?需要进口吗?我可以不在我的剃刀视图中做 Linq 风格的东西吗?那看起来……很奇怪?
【问题讨论】:
-
你可以在你的普通课程中使用 Linq 吗? (只是要确定)。 @Using 语句应该足够了。
-
你是在本地运行还是部署到另一台服务器上?
-
在将 System.Data.Linq 引用的“复制本地”属性设置为 true 时,您是否也遇到了该错误?
-
工作:在我的控制器中就好了。事实上,我目前的工作是这样的:ViewBag.OwnerList = Prop.PropertyOwnerships.Where(p => p.bIsOwner.Value == true).ToList();
-
这看起来……很奇怪。 System.Data.Linq 不应该在 GAC 中并具有通用访问权限。
标签: linq-to-sql asp.net-mvc-3 razor