linq中的错误无法从'System.Collections.Generic.IEnumerable <anonymoustype#1>'转换为'System.Linq.IQueryable <anonymoustype#2> </anonymoustype#2> </anonymoustype#1>

时间:2013-04-21 05:39:21

标签: linq entity-framework c#-4.0 entity-framework-4.1

包含错误:

  linq中的

错误无法转换   'System.Collections.Generic.IEnumerable'到   “System.Linq.IQueryable

为什么?

public class ListQuestionAssessor
{
        public string sum  { get; set; }
        public int QuestionsID { get; set; }
        public int AssessorID { get; set; }
        public int AssessID { get; set; }
}

List<ListQuestionAssessor> objList = new List<ListQuestionAssessor>();

        var lisaAddAssessor = (from p in objList
                               where
                                   !
                                   (from assessor in ObjNotIn
                                    select new
                                    {
                                        assessor.id
                                    }).Contains(new { p.QuestionsID })
                               select new QuestionAssessor()
                               {
                                   QuestionsID = initQuestionerId

                               }).ToList();

1 个答案:

答案 0 :(得分:0)

我会说问题是你要检查

.Contains(new { p.QuestionsID })

包含期望与集合具有相同类型的参数。由于该集合是匿名的,这可能是造成错误的原因。

将其重写为

.Any(a => a.id == p.QuestionsID)