Use the Join keyword instead of Left join, and be sure to use the INTO keyword and the DefaultIfEmpty () method, since the right table returns null.
var query = from p in personnel join e in Employee on p.EmployTypecode equals e.EmployTypecode into t from nt in t.DefaultIfEmpty() orderby p.Name select new { p.Name, p.Family, EmployTypecode=(int?)nt.EmployTypecode,
source share