2009-05-28 7 views
1

내가 정말로 원하는 것은 Scott Gu 블로그와 같은 anon 유형으로이 두 테이블을 선택하는 것입니다. here 그러나이 유형의 "ActiveLots"에 대해 두 개의 테이블을 결합하고 있습니다. 내 결과 집합에서 각 열을 참조 할 수 있어야합니다.Linq syntax in VB.NET

구문이 올바로 표시되지 않는 것 같습니다.

Dim pi = From p In dc.Inventories Join i In dc.InventoryItems On p.InventoryItemID _ 
        Equals i.InventoryItemID Where p.LotNumber <> "" _ 
        Select New ActiveLots LotNumber = p.LotNumber, Quantity = p.Quantity, Item = i.Item, Uom = i.UnitofMeasure, Description = i.Description 

답변

2

Daniel Moth's blog entry을 살펴보십시오. 나는 당신이 원하는 의심 : 익명 형식을 사용하고

Dim pi = From p In dc.Inventories _ 
     Join i In dc.InventoryItems 
       On p.InventoryItemID Equals i.InventoryItemID _ 
     Where p.LotNumber <> "" _ 
     Select New With { .LotNumber = p.LotNumber, .Quantity = p.Quantity, _ 
          .Item = i.Item, .Uom = i.UnitofMeasure, _ 
          .Description = i.Description } 

- (ActiveLots이 매개 변수가없는 생성자를하는 경우) 구체적인 유형을 사용하여, 당신은 New ActiveLots With { ...을 사용하십시오.

+0

감사합니다. –

+0

Jon, "New ActiveLot With ..."에 대한 가정이 맞습니다. 분명히 ActiveLot에는 빈 생성자가 필요합니다. –

+0

Meta-Knight를 확인해 주셔서 감사합니다. 적절하게 편집합니다. –