Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ComputerModel
- {
- public int MachineId { get; set; }
- public int GroupId { get; set; }
- public int SoftwareVersionId { get; set; }
- public string GroupName { get; set; }
- public string SoftwareVersion { get; set; }
- public string IPAddress { get; set; }
- public string HostName { get; set; }
- public string MACAddress { get; set; }
- public string Title { get; set; }
- public bool IsIGMonitor { get; set; }
- public string UpTime { get; set; }
- public DateTime DateEntered { get; set; }
- public string EnteredBy { get; set; }
- public Nullable<DateTime> DateUpdated { get; set; }
- public string UpdatedBy { get; set; }
- public ICollection<MachineRole> MachineRoles { get; set; }
- public ICollection<Role> Roles { get; set; }
- }
- var query = (from m in unitOfWork.Context.Machines
- join u in unitOfWork.Context.Users
- on m.EnteredBy equals u.UserId into EntByUser
- from EnteredByUser in EntByUser.DefaultIfEmpty()
- join u2 in unitOfWork.Context.Users
- on m.UpdatedBy equals u2.UserId into UpdByUser
- from UpdatedByUser in UpdByUser.DefaultIfEmpty()
- join g in unitOfWork.Context.Groups
- on m.GroupId equals g.GroupId into Grp
- from Groups in Grp.DefaultIfEmpty()
- join s in unitOfWork.Context.SoftwareVersions
- on m.SoftwareVersionId equals s.SoftwareVersionId into SW
- from SoftwareVersions in SW.DefaultIfEmpty()
- join mr in unitOfWork.Context.MachineRoles
- on m.MachineId equals mr.MachineId into MachRoles
- from MachineRoles in MachRoles.DefaultIfEmpty()
- join r in unitOfWork.Context.Roles
- on MachineRoles.RoleId equals r.RoleId into Rolz
- from Rolz2 in Rolz.DefaultIfEmpty()
- select new ComputerModel()
- {
- MachineId = m.MachineId,
- GroupId = m.GroupId,
- SoftwareVersionId = m.SoftwareVersionId,
- GroupName = Groups.GroupName,
- SoftwareVersion = SoftwareVersions.Version,
- IPAddress = m.IPAddress,
- HostName = m.HostName,
- MACAddress = m.MACAddress,
- Title = m.Title,
- IsIGMonitor = m.IsIGMonitor,
- UpTime = m.UpTime,
- DateEntered = m.DateEntered,
- DateUpdated = m.DateUpdated,
- EnteredBy = EnteredByUser.FirstName + " " + EnteredByUser.LastName,
- UpdatedBy = UpdatedByUser.FirstName + " " + UpdatedByUser.LastName,
- MachineRoles = m.MachineRoles,
- Roles = ?????
- }).ToList();
Add Comment
Please, Sign In to add comment