Mam kwerendy Linq, który wygląda mniej więcej tak:LINQ: Prosta funkcja logiczna zwraca LINQ Wyjątek
var query = from x in table where SomeFunctionReturnsBool() select;
private bool SomeFunctionReturnsBool()
{
return true;
}
to zwraca i wyjątku, który mówi „SomeFunctionReturnsBool ma obsługiwanego tłumaczenia do SQL”. Rozumiem, że to dlatego, że chce traktować "SomeFunctionReturnsBool" jako wyrażenie do oceny jako SQL, ale nie może.
Chociaż to zapytanie Linq nie jest skomplikowane, prawdziwe są. W jaki sposób mogę osiągnąć to, co próbuję tutaj zrobić, to jest rozbić fragmenty zapytania, aby mieć nadzieję, że będzie on bardziej czytelny?
Jeff
UPDATE dobre odpowiedzi. Staram się pracować z wyrażeń zamiast, ale ten kod robi mi „nie można rozwiązać metodą Gdzie (wyrażenie lambda)”:
var query = from x in table where SomeFunctionReturnsBool() select x;
private Expression<Func<EligibilityTempTable, bool>> SomeFunctionReturnsBool
{
return (x) => true;
}
odpowiedział na komentarz, pokazując (wątpliwą) sposób wykorzystania tego podejścia ze składni zapytań. –