2012-04-11 4 views
0

새 프로젝트에서 SQL Server와 함께 Linq-to-SQL을 ORM으로 사용하고 있습니다. 전에 Linq-to-SQL을 사용한 적이 없기 때문에 제 질문은 약간 바보가 될 수 있습니다.Linq-to-SQL에서 조건부 검색을 사용하는 방법

public IEnumerable<T> Get<T>(Expression<Func<T, bool>> @where) 

당신은 내가 몇 가지 코드 샘플 또는 아이디어를 볼 수있는 몇 가지 조언을 줄 수 방법이 구현 :이 같은 술어에 의해 DB에서 엔티티에 대한 검색을 수행하는 방법, 뭔가를 갖고 싶어?

+0

흠 ... DB에 요청을 보내는 데 어떻게 도움이되는지 모르겠다. –

답변

1

당신은 어디에서 원하는 (여기서, originalList은 당신의 컨텍스트에서 테이블이 될 수 있습니다, 특히 어떤 열거) :

var filteredList = originalList.Where(element => ShouldBeIncluded(element)); 

편집 :

또는

var filteredList = 
    from element in originalList 
    where ShouldBeIncluded(element) 
    select element; 

그리고 만약 해야 할 일은 Func<T, bool>이고 간단한 구문이 있습니다.

var filteredList = originalList.Where(ShouldBeIncluded); 

편집 2 :

var filteredList = originalList.Where<TTypeOfElement>(element => ShouldBeIncluded(element)); 

그러나 컴파일러는 originalList의 유형에서 추론하기 때문에 일반적인 인수가 (그것이 IEnumerable<TTypeOfelement>입니다 랬)을 생략 할 수 있습니다 또한, 전체 구문이 있습니다.

관련 문제