C# en LinQ Groupby

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • hartjezomer
  • Registratie: Mei 2019
  • Laatst online: 25-01-2023
Ik heb (voor jullie waarschijnlijk) een simpele vraag waar ik zelf niet uit kom. Ik heb geen opleiding in C# of LinQ, maar met google kom ik meestal erg ver. Ik werk op een laboratorium en ben bezig met een verbeterpunt.
Dagelijks worden bv 100 orders ingeboekt met allerlei testen die klanten aanvragen. Hiervan heb ik een Report gemaakt voor mijn collega's waarin ze kolommen zien met bepaalde informatie, maar wat ik hierin ontzettend mis is overzicht door de Group by functie.

Hij vind bijvoorbeeld 6x ( t.TestType.TestTypeId==370 ) de test "TAFEL" met TestTypeId 370. In mijn Report laat die dit dus 6x zien, maar ik wil in een kolom laten zien:
TestNaam. | Aantal
TAFEL | 6

Wat ik nu heb:

---boven de <for-each-linq> staan de kolommen en styles geschreven

<db:for-each-linq>
<db:statement><![CDATA[
from t in Tests where
t.Status != "Complete" && (t.Sample.Order.Received==true)
&& (t.Requested!=true)


orderby t.Sample.Parent.DateResultsRequired descending

let PlatesCreated = (from ttask in t.TestTasks where ttask.Type == "CreatePlates" && ttask.Status == "Complete" select ttask).Count()
select new
{
SampleId = t.Sample.Parent.SampleId,
SampleName = t.Sample.Name,
Client = t.Sample.Order.Client,
Received = t.Sample.Order.ReceivedOn,
Product = t.Sample.Parent.Product,
Analyse = t.Name,
Date = t.Sample.Parent.DateResultsRequired,
Date2 = t.Sample.DateResultsRequired,
PlatesCreated
}

]]></db:statement>


<db:if test="PlatesCreated==0">
-----hier heb ik geschreven waar de gevonden data geplaatst moet worden.

Alle reacties


Acties:
  • 0 Henk 'm!

  • boe2
  • Registratie: November 2002
  • Niet online

boe2

'-')/

Linq heeft een groupby methode. De voorbeelden onderaan de documentatie helpen je vast verder

Als je met linq wil experimenteren zonder volwaardige dev-omgeving kan ik je ook linqpad aanraden.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind.' - Pratchett.


Acties:
  • 0 Henk 'm!

  • Kickasz
  • Registratie: April 2003
  • Niet online
De voorbeelden op deze link vind ik persoonlijker een stuk duidelijker :).

MSDN: 101 LINQ Samples in C#

Acties:
  • 0 Henk 'm!

  • hartjezomer
  • Registratie: Mei 2019
  • Laatst online: 25-01-2023
Dank je wel! Ik had al wel wat rond gekeken op de website, maar deze pagina kende ik nog niet. Ik ga hier eerst mee aan de slag.