Link to home
Start Free TrialLog in
Avatar of Jerry Sheppard
Jerry Sheppard

asked on

I want to keep all the values in the left table (USER) but if there are no assets for the user keep the record. Just a null asset value will display. When I do the group by for the null asset

I have a linq group by question...

When I do the group by on assets, the record does not display at all. I want to keep it. the user may or may not have an asset.

 example..
 Name           Role                     Asset #
 John Smith  office manager 01-569450
 John Smith  office manager 01-569450
 John Smith  office manager 01-345454
 John Smith  office manager null

 I want
 John Smith  office manager 01-569450
 John Smith  office manager 01-345454
 John Smith  office manager null    <- Keep after the group by*

 Dim query = (From element In query1).OrderBy(Function(a) a.AssetNumber)
                                     .GroupBy(Function(a) a.AssetNumber)
                                     .Select(Function(a) New UserViewModel With {.ID = a.FirstOrDefault.ID,
                                                                                 .FirstName = a.FirstOrDefault.FirstName,
                                                                                 .MiddleInitial = a.FirstOrDefault.MiddleInitial,
                                                                                 .LastName = a.FirstOrDefault.LastName,
                                                                                 .RoleName = a.FirstOrDefault.RoleName,
                                                                                 .EmailAddress = a.FirstOrDefault.EmailAddress,
                                                                                 .PhoneNumber = a.FirstOrDefault.PhoneNumber,
                                                                                 .PhoneNumberExt = a.FirstOrDefault.PhoneNumberExt,
                                                                                 .EmployeeID = a.FirstOrDefault.EmployeeID,
                                                                                 .UserName = a.FirstOrDefault.UserName,
                                                                                 .CountyID = a.FirstOrDefault.CountyID,
                                                                                 .CountyName = a.FirstOrDefault.CountyName,
                                                                                 .Cost = a.FirstOrDefault.Cost,
                                                                                 .OperationalUnit = a.FirstOrDefault.OperationalUnit,
                                                                                 .LocationID = a.FirstOrDefault.LocationID,
                                                                                 .LocationName = a.FirstOrDefault.LocationName + "[" + a.FirstOrDefault.LocationCode + "]",
                                                                                 .IsActive = a.FirstOrDefault.IsActive,
                                                                                 .Classificationcode = a.FirstOrDefault.Classificationcode,
                                                                                 .Programeffortcode = a.FirstOrDefault.Programeffortcode,
                                                                                 .ProgramElement = a.FirstOrDefault.ProgramElement,
                                                                                 .AssetNumber = a.FirstOrDefault.AssetNumber,
                                                                                 .AssetReceivedDate = a.FirstOrDefault.AssetReceivedDate,
                                                                                 .AssetModel = a.FirstOrDefault.AssetModel,
                                                                                 .AssetMake = a.FirstOrDefault.AssetMake,
                                                                                 .AssetType = a.FirstOrDefault.AssetType,
                                                                                 .AssignedTo = a.FirstOrDefault.FirstName + " " + a.FirstOrDefault.LastName})
                                     .Where(Function(a) Not String.IsNullOrEmpty(a.AssetNumber))
                                     .OrderBy(Function(a) a.LastName)
                                     .ThenBy(Function(a) a.FirstName)
                                     .ThenBy(Function(a) a.AssetNumber)
                                     .ToList()
This question needs an answer!
Become an EE member today
7 DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform.
View membership options
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.