……指定对象不在字典中报错解决
报错:指定对象不在字典中解决方案:
Creator = ( creatorDic.ContainsKey(d.Creator.Value) && d.Creator != null) ? creatorDic[d.Creator.Value] : "",
----------------------------------
publicvoidGetList(MLevelmodel){if(string.IsNullOrEmpty(model.SArg.Title)){model.SArg.Title=string.Empty;}if(model.Key==Guid.Empty){model.SchoolId=TypeKit.ToGuid(YK.School.Core.Context.SchoolId,Guid.Empty);}else{model.SchoolId=model.Key;}vardbSchool=DbContext.SchoolUnitOfWorkCreate();vardbPlatform=DbContext.PlatformWorkCreate();try{varquery=dbSchool.Query<Sc_Level>().Where(t=>t.SchoolId==model.SchoolId);if(!string.IsNullOrEmpty(model.SArg.Title)){query=query.Where(t=>t.LName.Contains(model.SArg.Title));}model.PArg.RowsCount=query.Count();query=query.OrderByDescending(d=>d.LNo).Skip(model.PArg.FirstRowIndex).Take(model.PArg.PageSize);varlevelList=query.ToList();varlIdList=levelList.Select(d=>d.Id);List<Guid?>creatorIds=levelList.Where(l=>l.Creator!=null).Select(l=>l.Creator).Distinct().ToList();varcreatorDic=dbPlatform.Query<LQ_Member>().Where(a=>creatorIds.Contains(a.Id)).ToDictionary(a=>a.Id,a=>a.RealName);varcList=dbSchool.Query<Sc_Class>().Where(c=>c.SchoolId==model.SchoolId&&c.Sc_LevelId!=null&&lIdList.Contains(c.Sc_LevelId??Guid.Empty));model.levellist=levelList.Select(d=>newMLevel.Level{Key=d.Id,State=cList.Count(c=>c.Sc_LevelId==d.Id)>0?("已引用"):("未引用"),Value=d.LName,Creator=(creatorDic.ContainsKey(d.Creator.Value)&&d.Creator!=null)?creatorDic[d.Creator.Value]:"",CreateType=d.CreateType==1?("管理员创建"):(d.CreateType==2?("班主任创建班级时自定义"):(d.CreateType==3?("华网导入"):("无数据"))),CreateOn=d.CreatedOn.ToString()}).Where(d=>d.Value.Contains(model.SArg.Title)).ToList();}finally{dbSchool.Dispose();dbPlatform.Dispose();}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。