例如:
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”的定义
解决办法:将 m.TeacherID转化为int,Convert.ToInt(m.TeacherID)
一般出现contains不包含,是因为类型不一致,将contains的对象使用Convert函数转换为相应的类型即可。