Func 형식의 조건자를 번역하기 위해 L2S 공급자를 호출하는 방법 <T,bool> SQL where 절에?

dapper linq-to-sql predicate sql sql-server-2008

문제

내 응용 프로그램에서 L2S를 사용하고 있지만 쿼리 성능에 중대한 문제가있어 문제가있는 n + 1 문제를 선택 하기 때문에 dapper.net으로 전환 하고 있습니다.

잘 작동하지만 데이터를 필터링 할 때 편리한 LINQish 스타일의 작성 술어가 누락됩니다.

그래서 내 질문에, 어떻게 Func<T, bool> 형태의 술어를 SQL Server where 절로 변환하여 dapper와 함께 사용할 수 있습니까?

나는 누군가가 이것을하기 전에해야만한다고 생각하거나, 모든 위급 한 사용자가 자신의 SQL 문을 수작업으로 처리하고 있다고 생각 하는가?

제목에서 알 수 있듯이 SQL Server 용 LINQ2SQL 공급자를 호출하는 옵션이 있습니까?

기본적으로 나는 동적 linq의 반대처럼 뭔가를 찾고 있어요.

인기 답변

LINQ에 의해 생성 된 SQL을 보는 방법이 있습니다. Visual Studio Magazine에서 LINQ to Entity 쿼리로 생성 된 SQL보기 문서를 참조하십시오.

이제 내가 뭘하는지 더 잘 이해 했으므로 좀 더 살펴보고 살펴볼 가치가있는 몇 가지 관련 게시물을 발견했습니다.

Dynamic where where 절은 Stringbuilder를 사용하는 것을 제안하지만 Sam Saffron의 기사에 대한 의견 중 하나는 위대한 정의를 위해 LINQ-2-SQL을 Dapper로 이식하는 데 도움이되는 공헌 된 SqlBuilder에 대해 이야기합니다.

LINQ Where를 사용하여 생성 된 SQL에서 WHERE 절을 호출하고 가져 오는 것을 제안 하는 Linq-to-Sql 식 을 사용하여 SQL 절을 생성합니다.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.