Используя правильное определение для d
, вы можете упростить извлечение результатов:
Dim d = ThisMDTData.Where(Function(p) p.PTOrder = nextPTOrder And p.PTOrder <= p.MaxPTOrder).Select(Function(p) New With { p.MDTID, p.PatientID, p.CareID, p.MDTDate }).FirstOrDefault
Dim nextMDTID = d?.MDTID
Dim nextPatientID = d?.PatientID
Dim nextCareID = d?.CareID
Dim nextMDTDate = d?.MDTDate
Помещение Select
/ FirstOrDefault
в определение d
гарантирует, что любая база данных будет толькозапрашивается один раз для минимально необходимых данных.Вы можете оставить Select
выключенным, если размер строки небольшой или строка имеет только эти четыре свойства.При желании вы можете использовать очевидный свободный перевод запроса для d
.
ПРИМЕЧАНИЕ. Если вы не хотите, чтобы некоторые переменные были Nullable
, используйте If
:
Dim nextPatientID = If(d?.PatientID, CType(Nothing, Integer))