I have data in which needs sorting into individual sets based on having unique id's per set.
For instance I am starting with the below (its actually a pending sql query, but making up the below as an illustrative example):
IQueryable<DataType> data = [
{id: 1, description: "some description1", state: 1, associateId: 5}
{id: 2, description: "some description2", state: 1, associateId: 6}
{id: 3, description: "some description3", state: 1, associateId: 7}
{id: 4, description: "some description4", state: 2, associateId: 5}
{id: 5, description: "some description5", state: 1, associateId: 6}
{id: 6, description: "some description6", state: 1, associateId: 5}
]
And I need it as:
IQueryable<DataType>[] sortedData = [
[
{id: 1, description: "some description1", state: 1, associateId: 5},
{id: 2, description: "some description2", state: 1, associateId: 6},
{id: 3, description: "some description3", state: 1, associateId: 7}
],
[
{id: 4, description: "some description4", state: 2, associateId: 5}
],
[
{id: 5, description: "some description5", state: 1, associateId: 6},
{id: 6, description: "some description6", state: 1, associateId: 5}
]
I need a solution which will continue to stitch to the sql query and not call the data into memory for processing.
Grouping by state would only give me two groupings. I need to have unique entities in each grouping based on the associatedId, without a loop (eg bringing into memory).
I feel like I need to apply Distinct somehow, but cant see where.