2016-06-10 4 views
0

Ich habe 3 TabelleQuerying Tabelle durch Assoziation mit LINQ to SQL vb.net

CustNameTbl

_________________ 
| ID | CustName | 
| 1 | Jel Farm | 
| 2 | TSL. TRD.| 
| 3 | YAZAKI | 
| 4 | TAILIN | 

ItemNameTbl

_________________ 
| ID | ItemName | 
| 1 | HSC | 
| 2 | Pad | 
| 3 |Partition | 
| 4 | B002001 | 
| 5 |Box for B3| 
| 6 |High Speed| 

ItemInfoTbl

__________________________________________________ 
| ID | CustId | ItemId | Qty | Price | Remarks | 
| 1 | 1 | 1 | 50 | 2 |   | 
| 2 | 1 | 2 | 200 | 1 | Set A | 
| 3 | 1 | 3 | 10 | 5 | Set B | 
| 4 | 4 | 5 | 15 | 2 |   | 
| 5 | 4 | 6 | 10 | 1 |   | 
| 6 | 2 | 4 | 150 | 3 |   | 

Ich habe zwei ASSOCIATION

  1. CustNameTbl als Elternteil ItemInfoTbl als Kind

  2. ItemNameTbl als Elternteil ItemInfoTbl als Kind

Mit LINQ to SQL, Wie ItemInfoTbl mit CustNameTbl als WHERE-Klausel abzufragen und mit einem Ergebnis, wo Der Wert von CustId und ItemId in ItemInfoTbl erhalten dort Daten in der anderen Tabelle (CustNameTbl, ItemNameTbl)

Gefällt mir Dies:

____________________________________________________ 
| ID | CustId | ItemId | Qty | Price | Remarks | 
| 4 | TAILIN |Box for B3| 15 | 2 |   | 
| 5 | TAILIN |High Speed| 10 | 1 |   | 

Aber mein Code nicht bekommen, was ich

Dim CustName As String = "TAILIN" 
Using CustItem As New CustItemDataContext 
     Dim resultCustItem = From result In CustItem.ItemInfoTbls 
          Where result.CustNameTbl.CustName = CustName 
     DataGridView1.DataSource = resultCustItem 
End Using 

Jede Idee oder Link möchte mich um loszulegen. Danke und Entschuldigung für mein Englisch.

Antwort

0

Nicht getestet, kann Ihnen aber eine Idee geben.

Dim result = from t in YourDatabase.ItemInfoTbl 
         join p in YourDatabase.ItemNameTbl on t.ItemID equals p.ID 
         join c in YourDatabase.CustNameTbl on t.CustID equals c.ID    
Where c.CustName = CustName 
         select new 
         { 
          t.ID, 
          t.CustId, 
          t.ItemID, 
          t.Qty, 
          t.Price 
         }; 

Hilfreiche Quelle LINQ join multi table

+0

Also, was tun beitreten können. Danke für die Hilfe. Ich habe gelesen, dass ich mitspiele, bevor ich nicht weiß, wie ich es benutze. – user2184608

+0

Ich bin froh, Ihnen zu helfen. Stimmen Sie ab, wenn dies der Fall ist. – Sami