“System.Linq.IQueryable”不包含“Contains”的定义 或者“System.Linq.IEnumberable”不包含“Contains”的定义

例如:
from m in TeachingInfo where
(from t in TeacherInfo 
where (from o in TeacherInfo where o.TeaID==1001 select o.TeaGroup).Contains(t.TeaGroup)
select t.TeaID).Contains(m.TeacherID)
select m
描述为://根据管理员登录ID获取所在部门,查找该部门的员工编号,查找编号是否在教学信息的教师编号中 
出现错误:“System.Linq.IQueryable<int>”不包含“Contains”的定义,并且最佳扩展方法重载“System.Linq.Queryable.Contains<TSource>(System.Linq.IQueryable<TSource>, TSource)”的某些参数无效
问题原因: m.TeacherID是System.Linq.IQueryable<int>类型,而“System.Linq.IQueryable<int>”不包含“Contains”的定义

解决办法

1.将 m.TeacherID转化为int,Convert.ToInt(m.TeacherID)

2.使用系统自带的ToString()转化:....ToString().Contains(m.TeacherID)

一般出现contains不包含,是因为类型不一致,将contains的对象使用Convert函数转换为相应的类型即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章