1

테이블에서 레코드를 가져올 필요가 있습니다. 조건에 따라 DB에서 데이터 열을 가져오고 싶습니다.논리 테이블에서 데이터 선택

데이터베이스의 테이블을 똑같이 나타내는 표가 있다고 가정합니다. 이 표에는 각 표제 내의 머리글에 체크 상자가 있습니다. 사용자 아이디에 해당하는 체크 박스를 선택하면

, 내가 "사용자 아이디"열이이

1 
2 

사용자가 또한 확인할 경우 이름처럼 가야, 지금 내 목록은 그것으로 이름이 같은 포함해야

1  First  
2  Second 

사용자가 주소를 클릭하면 주소도 가져와야합니다.

표/그리드는 여기에 있습니다 :

UserId Name  Address 
---------------------------- 
    1  First  America 
    2  Second France 
나는 다음과 같은 쿼리를 시도하지만 지금처럼 ::

var ll = DB.Users.Select(d => d.Name).ToList(); 

단일 쿼리에 더 많은 검색 열을 연결하는 방법을 혼동

, I 위의 쿼리에 하나 이상의 열을 추가해야합니다. 내가 어떻게 해?

+0

여기에 설명 된 것과 같이 동적 식 작성 도구를 사용할 수 있습니다. http://stackoverflow.com/a/16517768/335784 – Ben

답변

0

각 열 조합에 대해 별도의 LINQ 쿼리를 만들거나이 문제를 해결할 수있는 저장 프로 시저를 사용해보십시오.

원시 SQL을 사용하면 checkbox 매개 변수를 기반으로 다른 열을 반환하는 동적 쿼리를 작성할 수 있습니다.

편집

: 만 LINQ를 사용하려는 때문에, 나는 가능한 모든 열을 반환하고 응용 프로그램의 프리젠 테이션 부분에서 밖으로 원치 않는 열을 필터링하는 것이 좋습니다.

+0

선생님, 저장 프로 시저를 사용하고 싶지 않습니다. 나는 Linq에서만해야 해. if 및 else 조건 만 생성 할 수있는 옵션이 있습니다. (이름이 비어 있지 않으면 {이름을 얻기 위해 쿼리를 작성합니다} else {이름과 ID, 이름과 ID로 레코드를 가져 오는 쿼리를 작성합니다} 등등하지만 내 페이지의 다른 조건이 많이 생성됩니다. 3 coloums하지만 무엇에 대한 테이블 20 coloums있다. 그것은 이해가되지 않습니다. 나는 같은 쿼리 내 요구 사항입니다. 제발 도와주세요. 제발 도와주세요. – Sweetie

+0

LINQ 쿼리에서 가능한 것으로 볼 수 없습니다. 당신은 런타임에 쿼리를 동적으로 구축 할 수 없다. 단순히 모든 컬럼을 리턴하고 후에 필터 할 수있다. – Howie

관련 문제