2015-01-23 1 views
0

익명 형식의 조인 문 결과를 사용하는 간단한 linq 쿼리가 있습니다. 문제는 이름이 같은 두 속성입니다. 이 방법을 작동시키는 법. 은 가정하자 다음 코드동일한 이름의 두 속성으로 익명 형식을 만들 수 없습니다.

Dim retQry = From cb In _entityCtx.CandyBars 
      Join soda in _entityCtx.Drinks 
      On cb.Id Equals soda.Id 
      Select cb.Id, Soda.Id, Soda.Price, cb.Name 

내가 변수 이드 이미 선언 된 오류 범위를 얻을 수 있습니다.

업데이트 : 속성 이름 만 사용하는 Microsoft 문서가 사용되었으므로 'ID'는 전달되는 필드입니다. 쿼리에서 익명 형식에서 다음과 같이 이름이 다른 2 곳 https://msdn.microsoft.com/en-us/library/bb384767.aspx

+2

확실하지 않음 구문을 사용하지만 속성 이름을 명시 적으로 지정할 수 있습니다. C#에서는'cbId'와'SodaId'를 사용합니다.'select new {cbId = cb.Id, SodaId = soda.Id ....' – Habib

+1

'새 항목을 선택 {cbid = cd.Id, sodaid = Soda. 이드, ...? " –

+0

감사합니다. Habib and Giorgos and dotnetom. – glant

답변

1

당신은 같은 이름을 가진 두 속성을 사용할 수없는 표현,하지만 당신은 선택 사용할 수 있습니다와 함께 익명 형식을 만들 : 약

Select New With {.cbId = cb.Id, .SodaId = Soda.Id, .Price = Soda.Price, .Name = cb.Name} 
관련 문제