将LINQ中的多个表链接到SQL

TTC*_*TCG 2 c# linq join linq-to-sql

我想获得由artistId = 1演唱的专辑列表(Distinct)

我是LINQ to SQL的新手,不知道如何连接多个表.请参阅下面的数据库图表: 替代文字http://a.imageshack.us/img155/8572/13690801.jpg

SingBy是Track和Artist之间的中间表.

我怎么能实现这个目标?

Cha*_*had 7

var albums = from singer in artist
      from sb in singby
      from t in track
      from a in album
    where singer.artistId == 1 && 
      sb.artistId == 1 && 
      sb.trackId == t.trackId && 
      a.albumId == track.albumId
    select a;
Run Code Online (Sandbox Code Playgroud)

我相信一定有更好的方法.您应该考虑在实体上创建导航属性.导航属性就像外键.

编辑 - 更正以获取专辑,而不是艺术家.