这个用 EF很容易获取的 首先 cat 与 cat_a 一对多 cat_a 与 cat_b 一对多 cat_b 与post 多对一 所以你要在 这些实体类里 加上对应的关系 比如 public class cat{id, name,value,virtual ICollection<cat_a> catalist } public class cat_a{id,catid,cattype,virtual cat_a } cat.where(x=>x.value=="catvalue") Include(x => x. cat_a.Select(s=>s.cat_b.select(p=>p.post)))