2010-01-16 1 views
0

MVC와 함께 EF 3.5를 사용하고 있습니다. 내가 검색 페이지를 만든하려는 Linq with EF 동적 검색

이, 날짜 등의 기준에 대한 몇 가지 필드가 등을 동적으로 결과를 필터링 할 엔티티에 LINQ의 방법은 무엇

int로.

하나 개의 매개 변수가있는 경우 우리는 이야기 해봐 (A => a.id == 1) 내가 결과를로드 한 후 모델 전달할 수있는 방법을 선택 PARAM와

그러나 많은 조합을 사용할 수 있습니다.

답변

0

EF 3.5? 어쨌든 ...

검색 조건을 ObjectQuery, ObjectSet 또는 IQueryable에 추가하고 검색 기준을 유용하게 사용할 수 있습니다. 당신이 문자열 기반의 접근 방식이 필요하면

public SearchMyThings(string a, string b, int c) 
{ 
    var mywidgets = ObjectContext.CreateObjectSet<Widget>(); 
    //or the EF 1.0 version CreateSet? 

    if(!a.IsNullOrEmpty) 
     mywidgets = mywidgets.Where(w => w.AProperty == a); 

    if(!b.IsNullOrEmpty) 
     mywidgets = mywidgets.Where(w => w.BProperty == b); 

    if(c > 0) 
     mywidgets = mywidgets.Where(c => c.CProperty == c); 

} 

당신은 항상 동적으로 일부 EQL하고 함께 통과를 구성하는 ObjectQuery.Where의 오버로드 ("ESQL")를 사용할 수 있습니다.

문자열을 더 제어해야하고 복잡성을 두려워하지 않으면 Dynamic Linq을 시도해 볼 수 있습니다.