Dapper와 다중 매핑이있는 CTE를 사용하여 페이지 된 결과를 얻으려고합니다. 중복 된 열로 인해 불편을 겪고 있습니다. CTE는 예를 들어 이름 열을 갖지 못하게합니다.Dapper의 맞춤 매핑
다음 쿼리를 열 이름과 속성의 불일치가 아닌 다음 개체에 매핑하고 싶습니다.
검색어 :
WITH TempSites AS(
SELECT
[S].[SiteID],
[S].[Name] AS [SiteName],
[S].[Description],
[L].[LocationID],
[L].[Name] AS [LocationName],
[L].[Description] AS [LocationDescription],
[L].[SiteID] AS [LocationSiteID],
[L].[ReportingID]
FROM (
SELECT * FROM [dbo].[Sites] [1_S]
WHERE [1_S].[StatusID] = 0
ORDER BY [1_S].[Name]
OFFSET 10 * (1 - 1) ROWS
FETCH NEXT 10 ROWS ONLY
) S
LEFT JOIN [dbo].[Locations] [L] ON [S].[SiteID] = [L].[SiteID]
),
MaxItems AS (SELECT COUNT(SiteID) AS MaxItems FROM Sites)
SELECT *
FROM TempSites, MaxItems
객체 :
public class Site
{
public int SiteID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public List<Location> Locations { get; internal set; }
}
public class Location
{
public int LocationID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public Guid ReportingID { get; set; }
public int SiteID { get; set; }
}
나는 명명 규칙 나를 위해이 시나리오를 처리 할 수있는 존재 내 머리에 그것을 가지고 어떤 이유
하지만 언급을 찾을 수 없습니다 문서에서 그것의.
나는이 질문을 닫으려고했으나 열린 현상금이 있습니다. 이것은 복제본입니다. ITypeMap 인터페이스 및 특성을 사용해야합니다. 읽기 : http://stackoverflow.com/questions/8902674/manually-map-column-names-with-class-properties –