public async Task<IEnumerable<dynamic>> GetLZBase(string SearchType, string SearchValue, DateTime? StartTime, DateTime? EndTime) { SearchType += ""; SearchValue += ""; Expression<Func<DbLZBase, bool>> expression = PredicateExtensions.True<DbLZBase>(); switch (SearchType) { case "卵障号": expression = expression.And(o => o.EggDevelopementDisorderNumber.Contains(SearchValue)); break; case "家系号": expression = expression.And(o => o.FamilyNumber.Contains(SearchValue)); break; case "辅助生殖病历号": expression = expression.And(o => o.SeriousIllnessNumber.Contains(SearchValue)); break; case "卡号": expression = expression.And(o => o.CardNumber.Contains(SearchValue)); break; case "身份证号": expression = expression.And(o => o.WomanIDNumber.Contains(SearchValue) || o.ManIDNumber.Contains(SearchValue)); break; case "姓名": expression = expression.And(o => o.WomanName.Contains(SearchValue) || o.ManName.Contains(SearchValue)); break; case "手机号": expression = expression.And(o => o.WomanMobilePhoneNumber.Contains(SearchValue) || o.ManMobilePhoneNumber.Contains(SearchValue)); break; } if (system_function.RegexLongTime(StartTime.ToString()) && system_function.RegexLongTime(EndTime.ToString())) { expression = expression.And(o => o.AddTime >= StartTime && o.AddTime <= EndTime); } List<DbLZBase> LZBase = await _dbContext.dbLZBase.Where(expression).OrderByDescending(i => i.AddTime).ToListAsync(); var model = _dbContext.dbGeneTestResults.Where(i => i.EggDevelopementDisorderNumber != null).ToList().Join(LZBase, o => o.EggDevelopementDisorderNumber, k => k.EggDevelopementDisorderNumber, (o, k) => new { k.ID, k.EggDevelopementDisorderNumber, k.CardNumber, k.FamilyNumber, k.SeriousIllnessNumber, k.WomanName, k.WomanAge, k.WomanSex, k.WomanEducationBackground, k.WomanOccupation, k.WomanIDNumber, k.WomanResidence, k.WomanResidenceName, k.WomanBirthPlace, k.WomanBirthPlaceName, k.WomanMobilePhoneNumber, k.ManName, k.ManAge, k.ManSex, k.ManEducationBackground, k.ManOccupation, k.ManIDNumber, k.ManResidence, k.ManResidenceName, k.ManBirthPlace, k.ManBirthPlaceName, k.ManMobilePhoneNumber, k.ClassifiedDiagnosticInformation, k.AddMan, k.AddTime, k.ModifyMan, k.ModifyTime, o.PdfFilePath }).ToList(); return model; } 关键代码:public async Task<<dynamic>> GetLZBase中的dynamic |
|