如何使用 sqlite-net for Metro WinRT 应用在 linq 中进行联接



我已经看到,如果我想使用 sqlite-net 进行 linq 查询,如果我这样做:

var query = conn.Table<TableName1>().Where(x => x.Field=="Val1");

我可以将 where 应用于选择; 是否可以对多个表执行类似操作,在 TableName1 和 TableName2 之间应用连接?如果可能,linq 查询的正确语法是什么?

使用查询:

var query = string.Format (
                @"
                SELECT artist.Name as ArtistName, album.Id as AlbumId, album.Title as AlbumTitle,
                    track.Id as TrackId, track.Name as TrackName, track.Number as TrackNumber
                FROM Track track
                LEFT OUTER JOIN Album album
                ON track.AlbumId = album.Id
                LEFT OUTER JOIN Artist artist
                ON album.ArtistId = artist.Id
                WHERE track.Id = '{0}'
                "
                ,trackId.ToString ());
            var trackViewModels = await QueryAsync<TrackViewModel> (query);
            return trackViewModels.FirstOrDefault();

最新更新