成功ef linq返回动态数据

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

(0)

相关推荐