Sometimes we need to drill down till the end to find out all the infos. i had a quick look at the problem and find there is nothing to worry until you have the Common table expression thing for SQL.

Unfortunately if you want to write down the LINQ for this you cant do it in a single shot. Although you can use Range in LINQ.

DECLARE @Id int = '1234';
WITH identity_cte AS (SELECT EMP_NO
                FROM IdentitySQL
                WHERE MANAGER_EMP_NO = @id
                UNION ALL
                SELECT Id1.EMP_NO
                FROM IdentitySQL Id1 
                INNER JOIN identity_cte icte ON icte.EMP_NO = Id1.MANAGER_EMP_NO) 
SELECT * FROM identity_cte 
union all 
select emp_no from identitysql where emp_no = @id

This will return all subordinates including the Manager himself.