var lists = (from d in _deviceStore.Context.Device.Where(s => !s.IsDeleted)join dt in _deviceStore.Context.DeviceType on d.DeviceType equals dt.DeviceTypeCode into dtfrom dd in dt.DefaultIfEmpty()join f in _deviceStore.Context.Factory on d.FactoryId equals f.Id into ffrom ddf in f.DefaultIfEmpty()join r in _deviceStore.Context.RepairArea on d.AreaId equals r.Id into rfrom ddr in r.DefaultIfEmpty()join p in _deviceStore.Context.ProductionLine on d.ProductionLineId equals p.Id into pfrom ddp in p.DefaultIfEmpty()select new DeiveInfoModel{Id = d.Id,// ...}).Where(predicate).OrderByPageInfo(model.PageInfo, out int total);