1
클래스 "B"의 컬렉션이있는 클래스 "A"가 있습니다. "D"는 속성 "DMatter"("B"에서 상속받지 않음)를 가진 "B"의 서브 클래스입니다.System.Linq.Dynamic을 사용하여 Type에서 쿼리하는 방법이 있습니까?
정규 Linq로 다음과 같은 특정 내용으로 "D"가있는 "A"
var result =
Aset.Where(a => a.Bs.OfType<D>().Any(d => d.DMatter.Contains("ii"))); //works!
내가 너무 좋아하는 B의 특성에 동적으로 할 수
:
var result = Aset.Where("Bs.Any(BStuff.Contains(\"bb\"))");//works!
그러나 나는 이런 식으로 뭔가 할 수있는 방법 찾을 수 없습니다 :
result = Aset.Where("Bs.OfType<D>().Any(DMatter.Contains(\"ii\"))");//Explodes!
모든 솔루션?
것을 명확히 "폭발한다!" : – wudzik
@wudzik : 예외가 있습니다 : ParseException >> "List'1 '형식의'OfType '속성이 없습니다. System.Linq.Dynamic.ExpressionParser.ParseMemberAccess (Type 유형, 식 인스턴스)에서 에 존재합니다. –
'System.Linq.Dynamic.ExpressionParser'의 코드에서 불행히도'OfType' 파싱이 구현되지 않은 것으로 보입니다. [이 기사 참조] (http://social.msdn.microsoft.com/Forums/en-US/fbfa7e59-e97f-4d34-9810-5dbf6b8f444c/dynamic-linq-expression-for-oftype-and-sum?forum= linqtosql)에 관해서. –