2010-01-11 2 views
1

나는 asp.net 페이지에서 datagrid가 있습니다. 또한 필터와 그리드 용 검색 버튼이 있습니다. 다음과 같은 코딩 옵션을 사용할 수 있습니다.asp.net LINQ 대 Datatable

  1. 격자 저장 프로 시저에 필터를 적용하십시오.
  2. 그리드에 대한 모든 데이터를 가져 와서 필터 적용 + LINQ를 사용하여 텍스트 검색.
  3. 데이터 테이블의 모눈에 대한 모든 데이터를 가져 와서 필터 + 검색 텍스트를 데이터 테이블 필터로 적용하십시오.

어느 것이 가장 좋은 코딩 방법인지 결정할 수 없습니다. 또한 3 계층 아키텍처를 사용하고 있으므로 레이아웃 된 필터를 적용하는 것이 가장 적합하다고 결정할 수 없습니다.

답변

1

2.Fetch에게 그리드에 대한 모든 데이터 및 적용 필터 + 당신은 LINQ를 사용하는 경우

LINQ

를 사용하여 텍스트를 검색하고 IQuerable 를 사용할 수있는 원격 데이터 소스를 가지고 당신은 무엇을 설명을 ==>을 실행하여 표현식 트리를 작성하면 이 (사용자의 경우 SQL에 대해) 해석됩니다 ( IEnumerableI Queryable)

내 투표 : 그것은 몇 가지 장점 가) 안전 B 입력을 가지고로 그래서 내 경험은 LINQ 당신이 Take(10).OrderBy(xx).Skip(30)

단점처럼 decoraters이 잘 구조화 된 솔루션을 만들 수 있다는 것입니다) Linq에 사용에 대한 시도가 당신이 가지고있는 경우에 나는 액션

0

에 간단히 말해서 LinqPad LINQ에 # 3.0 c를 ... 당신이 만든 어떤 SQL에 덜 제어를 얻을 당신이 조정에 시간을 보낼 필요가있다

좋은 책을 발견했다 많은 데이터, 데이터베이스에서 필터를 적용하거나 (필요한 레코드의 정확한 수만 선택) 또는 데이터베이스 쿼리에서 필터를 적용하는 것이 좋습니다. 예를 들어 3 백만 레코드가 있고 한 번에 50 개의 레코드 만 표시하고 필요한 50 개의 레코드 만로드하고 LINQ .Skip(). Take() 메서드를 사용하여 페이지를 표시하는 것이 좋습니다. 저장된 procs를 사용하기로 결정했다면 실행 가능하며 LINQ와 DataTable에서 SP가 작동합니다.

데이터베이스 외부에서 필터를 적용하는 것이 더 힘들 수 있습니다. 이것은 데이터 테이블이나 LINQ에서 쉽게 만들 수 있습니다. DB 쿼리에 쉽게 적용 할 수 있는지 또는 모든 데이터를로드하고 루핑하여 코드 숨김에 필터를 적용해야하는지 여부와 상관없이 필터 적용 노력이 얼마나 쉽고 어렵습니까?

DataTable 또는 LINQ 중 어느 것이 든 가능한 방법입니다. LINQ는 최신 기술이며 여기에 있습니다. ADO.NET Entity Framework가 새로운 데이터 세트이기 때문에 DataSet은 잠시 동안 있지만 새로운 데이터 세트 기능을 기대하지는 않습니다.

희망이 있습니다.