Metoda „Gdzie” nie może być zgodna z metodą „Wybierz” lub nie jest obsługiwana

Dlaczego dostaję:

Metoda „Gdzie” nie może być zgodna z metodą „Wybierz” lub nie jest obsługiwana. Spróbuj napisać zapytanie w kategoriach obsługiwanych metod lub wywołać metodę „AsEnumerable” lub „ToList” przed wywołaniem nieobsługiwanych metod.

... gdy używasz klauzuli WHERE, jak podczas dzwonienia:

XrmServiceContext.CreateQuery<Contact>().Project().To<Person>().Where(p => p.FirstName == "John").First();

?

To działa:

XrmServiceContext.CreateQuery<Contact>().Project().To<Person>().First();

To także działa:

XrmServiceContext.CreateQuery<Contact>().Where(p => p.FirstName == "John").First();

używamAutoMapper QueryableExtension.

Dodatkowe informacje:

Nie chcę wywoływać ToList () przed klauzulą ​​Where. Wiem, że tak będzie działać.CreateQuery<TEntity>() zwracaIQueryable<TEntity>.

questionAnswers(3)

yourAnswerToTheQuestion