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

来源:互联网 发布:qq邮箱软件下载 编辑:程序博客网 时间:2024/06/14 19:08
例如:
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函数转换为相应的类型即可。
阅读全文
1 0
原创粉丝点击