Click here to Skip to main content
15,881,248 members
Home / Discussions / C#
   

C#

 
QuestionC# voice communication between 2 local pcs Pin
Getyourwings UK28-Jun-22 10:07
Getyourwings UK28-Jun-22 10:07 
QuestionIs there anything that Python or Java can do for windows GUI applications while C# can't ? Pin
Code4Ever24-Jun-22 2:33
Code4Ever24-Jun-22 2:33 
AnswerRe: Is there anything that Python or Java can do for windows GUI applications while C# can't ? Pin
Craig Robbins24-Jun-22 6:33
Craig Robbins24-Jun-22 6:33 
AnswerRe: Is there anything that Python or Java can do for windows GUI applications while C# can't ? Pin
Richard MacCutchan24-Jun-22 22:38
mveRichard MacCutchan24-Jun-22 22:38 
QuestionLinq TO SQL DistinctBy Question Pin
Kevin Marois23-Jun-22 18:16
professionalKevin Marois23-Jun-22 18:16 
AnswerRe: Linq TO SQL DistinctBy Question Pin
OriginalGriff23-Jun-22 19:49
mveOriginalGriff23-Jun-22 19:49 
GeneralRe: Linq TO SQL DistinctBy Question Pin
Richard Deeming23-Jun-22 22:36
mveRichard Deeming23-Jun-22 22:36 
AnswerRe: Linq TO SQL DistinctBy Question Pin
Richard Deeming23-Jun-22 22:43
mveRichard Deeming23-Jun-22 22:43 
It depends.

Are you using the DistinctBy method added in .NET 6, or a different implementation?

And does the ORM you're using translated DistinctBy to SQL, or does it evaluate it on the client?

If it evaluates it on the client, and you're using the .NET 6 method or something equivalent, then technically it will return the first item it encounters within each group.

However, this is an implementation detail, and you cannot rely on it. And since you don't order by the ID, you can't guarantee that the database will return the records in any ID-related order.

If you always want the lowest ID, then you need to be explicit:
C#
var jobSequenceSheets = dc.JobSequenceSheets
    .Where(jss => jss.JobId == jobId)
    .Where(jss => jss.RevisionNumber == maxRev)
    .GroupBy(jss => new { jss.Plan, jss.Elevation }, (_, items) => items.OrderBy(jss => jss.ID).First())
    .OrderBy(jss => jss.Plan).ThenBy(jss => jss.Elevation)
    .ToList();

NB: Depending on your ORM, you might need to stick an .AsEnumerable() between the second .Where(...) and the .GroupBy(...) to force client evaluation of the grouping.



"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer

QuestionDrawing with c# Pin
Member 1557095222-Jun-22 23:08
Member 1557095222-Jun-22 23:08 
AnswerRe: Drawing with c# Pin
Richard Deeming22-Jun-22 23:55
mveRichard Deeming22-Jun-22 23:55 
GeneralRe: Drawing with c# Pin
Member 1557095223-Jun-22 0:08
Member 1557095223-Jun-22 0:08 
GeneralRe: Drawing with c# Pin
Richard Deeming23-Jun-22 0:42
mveRichard Deeming23-Jun-22 0:42 
AnswerRe: Drawing with c# Pin
Gerry Schmitz23-Jun-22 3:09
mveGerry Schmitz23-Jun-22 3:09 
AnswerRe: Drawing with c# Pin
OriginalGriff23-Jun-22 3:59
mveOriginalGriff23-Jun-22 3:59 
AnswerRe: Drawing with c# Pin
Member 1557095223-Jun-22 21:16
Member 1557095223-Jun-22 21:16 
GeneralRe: Drawing with c# Pin
Richard Deeming23-Jun-22 22:24
mveRichard Deeming23-Jun-22 22:24 
GeneralRe: Drawing with c# Pin
Member 1557095223-Jun-22 23:20
Member 1557095223-Jun-22 23:20 
GeneralRe: Drawing with c# Pin
Victor Nijegorodov24-Jun-22 5:54
Victor Nijegorodov24-Jun-22 5:54 
GeneralRe: Drawing with c# Pin
Dave Kreskowiak24-Jun-22 5:58
mveDave Kreskowiak24-Jun-22 5:58 
GeneralMessage Closed Pin
24-Jun-22 15:28
professionalKevin Marois24-Jun-22 15:28 
GeneralRe: Drawing with c# Pin
trønderen24-Jun-22 17:02
trønderen24-Jun-22 17:02 
QuestionSimple Paint app in winforms Pin
Aafaan_Jii20-Jun-22 23:19
Aafaan_Jii20-Jun-22 23:19 
AnswerRe: Simple Paint app in winforms Pin
OriginalGriff20-Jun-22 23:40
mveOriginalGriff20-Jun-22 23:40 
AnswerRe: Simple Paint app in winforms Pin
Pete O'Hanlon21-Jun-22 2:18
mvePete O'Hanlon21-Jun-22 2:18 
AnswerRe: Simple Paint app in winforms Pin
Dave Kreskowiak21-Jun-22 4:39
mveDave Kreskowiak21-Jun-22 4:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.