저는 기본적으로 데이터베이스에 저장된 문자열 값 집합에서 EF 쿼리를 생성하는 비즈니스 규칙 엔진을 설계하려고합니다.동적 EF 쿼리
예 : 연결 문자열, 테이블 이름, where 조건 술어 및 select 술어를 db의 문자열 필드로 저장하고 EF 쿼리를 동적으로 구성하려고합니다. 예 :
var db = new DbContext(“connectionstring”);
var wherePredicate = Expression.FromString(“p => p.StartDate > new DateTime(2014,5,1))
var selectPredicate = Expression.FromString(“p => p”)
var results = db.Set(“Projects”).Where(wherepredicate).Select(selectPredicate)
나는 동적 표현식 또는 동적 LINQ 라이브러리를 사용할 수 있습니다.
그러나 Projects가 엔티티 이름 인 db.Set ("Projects")에 액세스하려면 어떻게하고 where 및 select 술어를 적용합니까? (또는 db[“Projects”].Where().Select
과 같은 것).
DbContext.Set(Type entityttype)
메서드의 제네릭이 아닌 버전을 시도했지만 반환 된 개체에 Where
및 Select
조건부를 적용하는 방법을 파악할 수 없습니다.
SQL 쿼리 생성을 피하고 대신 동적으로 생성 된 EF 코드를 사용하려고합니다.
엔티티 프레임 워크의 모든 이점을 잃어 가고있는 것처럼 보입니다. – Aducci