视图(.cshtml)文件中的编译错误
Posted
技术标签:
【中文标题】视图(.cshtml)文件中的编译错误【英文标题】:Compilation error in a view(.cshtml) file 【发布时间】:2012-09-14 21:27:00 【问题描述】:我想你知道 mvcmusicstore.codeplex.com 上的在线 MvcMusicStore 应用程序教程。我正在使用 MVC3 在 MS SQl Server 2008 专业版而不是精简版下开发这个项目。我使用 Link to Sql 类作为模型类。它像往常一样工作。但是,视图文件 Browse.cshtml 中的代码
@model MvcMusicStore.Models.Genre
@
ViewBag.Title = "Browse";
<h2>Genre : @Model.Name</h2>
<ul>
@foreach(var album in @Model.Albums)
<li>@album.Title</li>
</ul>
生成编译错误消息,
Browse.cshtml(7,2):错误 CS1579:foreach 语句无法对“System.Data.Linq.EntitySet1<MvcMusicStore.Models.Album>' because 'System.Data.Linq.EntitySet
1”类型的变量进行操作,不包含“GetEnumerator”的公共定义
那么,你能给我一个解决办法来摆脱它吗?谢谢你。 此外,体裁类
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Genres")]
public partial class Genre : INotifyPropertyChanging, INotifyPropertyChanged
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private int _GenreId;
private string _Name;
private string _Description;
private EntitySet<Album> _Albums;
...
专辑类,
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Albums")]
public partial class Album : INotifyPropertyChanging, INotifyPropertyChanged
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private int _AlbumId;
private int _GenreId;
private int _ArtistId;
private string _Title;
private decimal _Price;
private string _AlbumArtUrl;
private EntitySet<Cart> _Carts;
private EntitySet<OrderDetail> _OrderDetails;
private EntityRef<Artist> _Artist;
private EntityRef<Genre> _Genre;
...
【问题讨论】:
你能发布你的流派课程吗? 类是由 Visual Studio 2010 使用链接到具有大声明的 sql 类自动构建的。然而,我包括了流派和专辑类。看看吧。 【参考方案1】:是的,我找到了解决方案。缺少程序集引用。我刚刚在 web.config 文件中添加了一个程序集引用。即,
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
就是这样。
【讨论】:
以上是关于视图(.cshtml)文件中的编译错误的主要内容,如果未能解决你的问题,请参考以下文章
如何让asp.net core mvc发布时候不编译cshtml视图