Asp.net MVC Linq查询

时间:2014-08-02 08:51:26

标签: asp.net-mvc linq

我有以下两个表

public partial class Genre
{
    public int GenreId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public List<Album> Albums { get; set; }
}

public class Album
{
    public int AlbumId{ get; set; }
    public int GenreId { get; set; }
    public int Artistid { get; set; }
    public string Title { get; set; }
    public DateTime? ReleaseDate { get; set; }
    public decimal Price { get; set; }
    public string AlbumArtUrl { get; set; }
    public Genre Genre { get; set; }
    public Artist Artist { get; set; }
}

我想要做的是通过LinQ的连接查询在Album&#39; Genre专栏中获取类型名称... 我所做的还是:

Album a = new Album();
a.Genre = from album in db.Albums
          join genre in db.Genres on album.GenreId equals genre.GenreId
          select new { name = genre.Name };

但是不行,这是不正确的,因为我有正确的名单,不能存储名单给Album.Genre。

我找到了一种方法将结果存储到store.genre的商店单字符串的变量中,但是由于数据量很大,我不能这样做,这会减慢处理速度。

实现它的任何其他方式。请帮忙......

谢谢....

1 个答案:

答案 0 :(得分:1)

你想要的东西是:

Album a = new Album();
a.Genre = (from album in db.Albums
          join genre in db.Genres on album.GenreId equals genre.GenreId
          select new Genre { ... }).FirstOrDefault();