I have to list all \"shift\" data to be assigned to an \"employee\" but shift data must not be included if it is already existing in employ
First of all, I suggest to modify a bit your sql query:
select * from shift
where shift.shiftid not in (select employeeshift.shiftid from employeeshift
where employeeshift.empid = 57);
This query provides same functionality. If you want to get the same result with LINQ, you can try this code:
//Variable dc has DataContext type here
//Here we get list of ShiftIDs from employeeshift table
List empShiftIds = dc.employeeshift.Where(p => p.EmpID = 57).Select(s => s.ShiftID).ToList();
//Here we get the list of our shifts
List shifts = dc.shift.Where(p => !empShiftIds.Contains(p.ShiftId)).ToList();