【问题标题】:How do i make a join in linq using sqlite-net for Metro WinRT apps?如何使用用于 Metro WinRT 应用程序的 sqlite-net 加入 linq?
【发布时间】:2012-08-16 13:53:09
【问题描述】:
我已经看到,如果我想使用 sqlite-net 进行 linq 查询:
var query = conn.Table<TableName1>().Where(x => x.Field=="Val1");
我可以将 where 应用于选择;是否可以对超过 1 个表做类似的事情,在 TableName1 和 TableName2 之间应用连接?如果可能的话,linq 查询的正确语法是什么?
【问题讨论】:
标签:
sqlite
windows-8
microsoft-metro
windows-runtime
【解决方案1】:
使用查询:
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();