我有使用CTE編寫的SQL查詢。現在,我移動在倉庫使用實體框架5.如何在實體框架中集成CTE查詢5
我在一個不知如何使用實體框架5.
我使用POCO實體整合(或重寫)基於CTE查詢與EF5和有一堆地圖類。沒有EDMX文件等。
我現在感覺像一個總noobot,並希望任何幫助指出我在正確的方向。
的CTE查詢如下
WITH CDE AS
(
SELECT * FROM collaboration.Workspace AS W WHERE W.Id = @WorkspaceId
UNION ALL
SELECT W.* FROM collaboration.Workspace AS W INNER JOIN CDE ON W.ParentId = CDE.Id AND W.ParentId <> '00000000-0000-0000-0000-000000000000'
)
SELECT
W.Id AS Id,
W.Name AS Name,
W.Description AS Description,
MAX(WH.ActionedTimeUtc) AS LastUpdatedTimeUtc,
WH.ActorId AS LastUpdateUserId
FROM
collaboration.Workspace AS W
INNER JOIN
collaboration.WorkspaceHistory AS WH ON W.Id = WH.WorkspaceId
INNER JOIN
(
SELECT TOP 10
CDE.Id
FROM
CDE
INNER JOIN
collaboration.WorkspaceHistory AS WH ON WH.WorkspaceId = CDE.Id
WHERE
CDE.Id <> @WorkspaceId
GROUP BY
CDE.Id,
CDE.ParentId,
WH.ActorId,
WH.Action
HAVING
WH.ActorId = @UserId
AND
WH.Action <> 4
ORDER BY
COUNT(*) DESC
) AS Q ON Q.Id = WH.WorkspaceId
GROUP BY
W.Id,
W.Name,
W.Description,
WH.ActorId
HAVING
WH.ActorId = @UserId
由於拉吉斯拉夫這需要ID的數組作爲輸入參數和返回數據表。這就是我最終做的。我對創建返回結果的新實體抱有雙重心願。你有什麼想法嗎? –
或者是複雜類型用於什麼? –
您不需要映射任何實體或複雜類型。只需在結果集中使用與列名稱相同的屬性創建類,並將其用作'SqlQuery'的通用參數。 –