하나 이상의 인수를 입력으로 허용하는 식을 작성하는 식을 작성하려고합니다.이 식은 nhibernate 쿼리 오버 엔진의 where 절로 사용됩니다.여러 매개 변수가있는 Func의 표현
System.Exception을 : 인식 할 수없는 메서드 호출 : 왜 표현을 사용하고
System.Func`3[[MyClass, Assembly, Version=9.123.434, Culture=neutral, PublicKeyToken=null],[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=wjerkwr234],[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=234234123]]:Boolean Invoke(MyClass, Int32)
Expression<Func<MyClass, int, bool>> restricton=
(myClassObject, myNumber) => myClassObject.Property1== myNumber;
session
.QueryOver<MyClass>()
.Where(x =>x.Property2==1)
.And(x=>restriction.Compile().Invoke(x, 2))
현재 내가 말하는 오류는 무엇입니까? 그것은 쿼리 오버 문을 생성하는 함수의 매개 변수이고 조건은 변경할 수 있습니다.
위의 코드에 어떤 문제가 있습니까?
를 구성 할 때이 알려진 경우 I는 식을 구성하고 때 myNumber가 설정 될 수 없음을 내가 두 번째 있었던 파라미터로 한 이유입니다 .. 그 다음 해결책은 무엇입니까? – user917670