이것은 내 엔티티 모델에 사용중인 Linq 구문입니다.
IQueryable<string> objEmployee = null;
objEmployee = from res in _db.EMPLOYEEs
where (res.EMAIL == givenInfo || res.USER_NAME == givenInfo)
select res.EMAIL;
여러 열을 선택하려면 어떻게해야합니까? res.ID도 선택하고 싶습니다. 어떻게받을 수 있습니까? IQueryable이 작동하지 않을 것이라고 생각합니다. 그리고 이것을 Linq to SQL이라고합니다. 맞습니까?
답변
다른 답변에서 알 수 있듯이 익명 유형을 사용해야합니다.
구문에 관해서는 개인적으로 메소드 체인을 선호합니다. 동등한 메소드 체인은 다음과 같습니다.
var employee = _db.EMPLOYEEs
.Where(x => x.EMAIL == givenInfo || x.USER_NAME == givenInfo)
.Select(x => new { x.EMAIL, x.ID });
AFAIK, 선언적 LINQ 구문은 컴파일 될 때 이와 유사한 메서드 호출 체인으로 변환됩니다.
최신 정보
전체 객체를 원하면 Select()
, 즉
var employee = _db.EMPLOYEEs
.Where(x => x.EMAIL == givenInfo || x.USER_NAME == givenInfo);
답변
예를 들어 익명 유형을 사용할 수 있습니다.
var empData = from res in _db.EMPLOYEEs
where res.EMAIL == givenInfo || res.USER_NAME == givenInfo
select new { res.EMAIL, res.USER_NAME };
답변
var employee = (from res in _db.EMPLOYEEs
where (res.EMAIL == givenInfo || res.USER_NAME == givenInfo)
select new {res.EMAIL, res.USERNAME} );
또는 사용할 수 있습니다
var employee = (from res in _db.EMPLOYEEs
where (res.EMAIL == givenInfo || res.USER_NAME == givenInfo)
select new {email=res.EMAIL, username=res.USERNAME} );
설명 :
-
db에서 직원을 res로 선택하십시오.
-
where 조건에 따라 직원 세부 정보를 필터링합니다.
-
새 {}를 사용하여 익명 개체를 만들어 직원 개체에서 필수 필드를 선택합니다.