C# 异常:从作用域“”引用了“FiasHostApp.Entity.DBEntity.FIAS_RM_v1.ITraNetMgrUnitBaseInfoRecord”类型的变量“w”,但该变量未定义
C# 异常:从作用域“”引用了“FiasHostApp.Entity.DBEntity.FIAS_RM_v1.ITraNetMgrUnitBaseInfoRecord”类型的变量“w”,但该变量未定义
在使用Lambda表达式时,不注意我们有时就会产生上面的异常,原因是是红色的代码部分,我们在表达式中,编译时这个变量“W”还没有生成的,在这时候使用就会报错:
解决方法:我们不能用这种“不确定的变量”就可以了,Lambda表达式中的变量都必须是确定值的,不能是要再计算才能得出结果的。
public string GetNeNameByGTCode(string GT_Code) { string reVal = ""; try { IQueryAgent<ITraNetMgrUnitBaseInfoRecord> ag = MainDB.Dbo.NewQueryAgent<ITraNetMgrUnitBaseInfoRecord>(); //string like1 = "'%" + GT_Code + "%'"; ag.Select(p => p.NeName); ag.Where(w => w.GTCode.Contains(GT_Code)) .Take(1); var lst = new TraNetMgrUnitBaseInfos(ag); if (lst != null && lst.Count > 0) reVal = lst[0].NeName; } catch (Exception ex) { log.WriteRecord(LogRecordLevel.Error, "GTCode获取网元异常:{0}", ex.Message + ex.StackTrace); } return reVal; }