【发布时间】:2014-10-23 17:06:07
【问题描述】:
我正在使用 dapper,我刚刚实现了 splitOn 函数来获取在我的 AdListingSearchResult 中设置的位置对象,但是这样做我的子查询(MainPhotoFileName 和 TotalPhotos)现在分别为 null 和 0。知道我在这里做错了什么吗?
var data = GetConnection().Query<AdListingSearchResult, AdListingLocationSearchResult, AdListingSearchResult>(@"
SELECT TOP 10 a.AdListingID, a.Title, a.Details, a.CreateDateTime, l.LocationID, l.CountryID, l.USCity, l.USStateCode, l.IntlRegion, c.CountryName,
(SELECT TOP 1 ap.Filename FROM tbAdListingPhotos ap WHERE ap.AdListingID = a.AdListingID) AS MainPhotoFileName,
(SELECT COUNT (*) FROM tbAdListingPhotos ap WHERE ap.AdListingID = a.AdListingID) AS TotalPhotos
FROM tbAdListing a
INNER JOIN tbLocation l ON (a.LocationID = l.LocationID)
INNER JOIN tbEnumCountry c ON (l.CountryID = c.CountryID)
WHERE a.Deleted = 0 ORDER BY a.CreateDateTime DESC
", (a, l) =>
{
a.Location = l;
return a;
},
splitOn: "LocationId"
).AsQueryable();
return data;
【问题讨论】:
-
哪个对象具有
MainPhotoFileName(etc) 属性?AdListingSearchResult?或AdListingLocationSearchResult?