C# 如何在整个查询中使用union all和innerjoin将linq写入实体查询
我正在尝试将此SQL查询转换为linq to entities,但我不知道如何转换使用G As的查询和使用G执行内部联接的查询2:C# 如何在整个查询中使用union all和innerjoin将linq写入实体查询,c#,sql-server-2008-r2,linq-to-entities,C#,Sql Server 2008 R2,Linq To Entities,我正在尝试将此SQL查询转换为linq to entities,但我不知道如何转换使用G As的查询和使用G执行内部联接的查询2: WITH G AS ( -- DONE SELECT rt1.*, CAST(rt1.ACCOUNT_ID AS VARCHAR(MAX)) COLLATE Latin1_General_BIN AS PARENT_PATH, CAST(rt1.NUMBER AS
WITH G AS (
-- DONE
SELECT
rt1.*,
CAST(rt1.ACCOUNT_ID AS VARCHAR(MAX)) COLLATE Latin1_General_BIN AS PARENT_PATH,
CAST(rt1.NUMBER AS VARCHAR(MAX)) COLLATE Latin1_General_BIN AS NUMBER_PATH,
rt1.NUMBER AS PARENT_NUMBER,
0 AS DEPTH
FROM
ACCOUNT rt1
WHERE
rt1.PARENT_ID IS NULL
AND rt1.ACCOUNT_ID <> '00000000-0000-0000-0000-000000000000'
AND rt1.STATEMENT_ID = '622f1e99-737c-4a77-be72-eacdec32203e'
-- DONE
-- in progress
UNION ALL
SELECT
rt2.*,
G.PARENT_PATH + '/' + CAST(rt2.ACCOUNT_ID AS VARCHAR(MAX)) COLLATE Latin1_General_BIN,
G.NUMBER_PATH + '/' + CAST(rt2.NUMBER AS VARCHAR(MAX)) COLLATE Latin1_General_BIN,
G.NUMBER AS PARENT_NUMBER,
G.DEPTH + 1
FROM
ACCOUNT rt2
INNER JOIN G
ON rt2.PARENT_ID = G.ACCOUNT_ID
WHERE
rt2.ACCOUNT_ID <> '00000000-0000-0000-0000-000000000000'
AND rt2.STATEMENT_ID = '622f1e99-737c-4a77-be72-eacdec32203e'
-- in progress
)
您是否有一个参考的想法来解释如何编写适当的linq到实体查询
最好的
尼科