LINQ 표현식을 함께 사용하는 방법에 대한 기사를 읽었지 만, 다루기 쉬운 것만 보여줍니다. 나는이 솔루션을 구현 한 :LINQ 표현식 작성
http://blogs.msdn.com/b/meek/archive/2008/05/02/linq-to-entities-combining-predicates.aspx
어떻게 작동 있도록이 코드를 작성합니까?
Expression<Func<Crop, bool>> chooseOranges = crop => crop.IsOrange;
Expression<Func<Farm, bool>> selectFarm = farm => farm.HasCows;
selectFarm = selectFarm.And(farm => farm.Crops.Any(chooseOranges);
컴파일되지만 런타임에 .NET 1025 오류가 발생합니다. chooseOranges를 리터럴 텍스트로 대체하면 작동하지만 chooseOranges는 비즈니스 로직을 사용하여 한 조각 씩 만들어집니다. 위에 링크 된 코드는 다양한 Expression.Foo() 함수에 의존하지만 도움이되는 코드를 찾을 수 없었습니다.
명시 적으로 작성된 동일한 표현을 지원하는 모든 제공자가 사용할 수 있습니다. – usr
@usr 확실하게, 그 문장을 강하게 만들기 위해 업데이트 –
마지막 줄은 그것을 실행하려고 할 때 StackOverflowException을 던집니다. 그게 내 문제 야? – MrEff