2016-09-20 2 views
0

Ich habe die folgende Abfrage:Concentrating eine Verknüpfung zu einer einzigen Spalte in Linq-Abfrage

var query = (from wo in _dbContext.WorkOrder 
       join opr in _dbContext.Operation 
       on wo.operationID equals opr.operationID 
       where wo.orderid == selectedorderid 
       select new {wo.orderid, wo.workOrderID, wo.itemID, wo.operationID, opr.operationName, wo.operationCode}).ToList(); 

ich auch eine andere Tabelle haben, die mit Arbeitsauftrag Tabelle verbindet, und mehrere Werte zurückgibt.

Was ich tun möchte, ist, möchte ich die Tabelle beitreten und eine einzige Spalte davon als eine konzentrierte Spalte in meiner Abfrage wie (ID1, ID2, ID3) usw. Wie kann ich das erreichen?

+0

, was das Problem ist, können Sie eine weitere hinzufügen, in der Abfrage beitreten! –

+0

ja, aber es würde die Ergebnisse duplizieren. Ich brauche sie in einer einzigen konzentrierten Spalte. – Sin5k4

+0

ohhk können Sie bitte teilen Sie Ihre Tabellenstruktur und Spaltennamen, die Sie wollen. –

Antwort

0

Was:

var query = (from wo in _dbContext.WorkOrder 
       join opr in _dbContext.Operation 
       on wo.operationID equals opr.operationID 
       where wo.orderid == selectedorderid 
       select new {wo.orderid, wo.workOrderID, wo.itemID, wo.operationID, opr.operationName, wo.operationCode}).ToList(); 

var orders = queryGroupBy(i => i.workOrderID) 
       .Select(i => new {WorkOrderId = i.workOrderID, ConcatinatedIds = String.Join(", ", i.Select(j => j.operationID))}) 
       .ToList(); 
Verwandte Themen