"Where"Linq 기능을 자체 코드에 있어야합니다."Where"내 애플리케이션의 Linq 기능
설명해 드리겠습니다 : 사용자가 소위 "사용자 코드"를 작성할 수있는 응용 프로그램이 있습니다.이 코드는 C#의 코드로, 응용 프로그램에서 선택하여 런타임에 컴파일되고 실행됩니다.
사용자 코드에서 SQL 조건을 지정할 수 있어야합니다. 특수한 경우는 날짜 열의 조건입니다. [DateColumn] = '1/1/2001'과 같이 쉽게 구현할 수 있지만 [DateColumn] = GetDate() + 1과 같은 조건이있을 수 있습니다. 후자의 경우 표현을 "이해"하기 위해 파서를 구현해야합니다. 나는 사용자가 무엇이든간에 맹목적으로 SQL을 보내지 않으려합니다 (SQL 주입을 피하십시오).
xxx.Where(field => field == new DateTime(2001, 1, 1));
xxx.Where(field => field == DateTime.Now.AddDays(1));
는 어떤 방식으로 SQL 프레임 워크에 Linq에를 활용할 수 있습니다 :
사용자는이 같은 Linq에 같은 쿼리를 작성하는 것이 가장 기뻐할 것? 나는 전체 쿼리를 추가로 구성하고 SQL Server로 보내기 위해 뒤에서 생성 된 SQL이 필요합니다.
나에게 도움이되는 타사 도구가 있습니까?
전체 IQueryable 인터페이스 (작성, 쿼리 등)가 필요하지 않습니다. 제한이있는 경우에도 System.Linq.Expressions.Expression을 T-SQL로 변환 할 수있는 기능.
SQL에 대해이 변환 기능을 제공하는 System.Linq. * 네임 스페이스는 무엇입니까? 리플렉터로 몇 가지 힌트를 얻을 수 있을지도 모릅니다.
대단히 감사합니다.
다음 라이브러리는 유망 해 보입니다. http://www.codeplex.com/IQToolkit. –