Выберите отдельные значения из списка - PullRequest
0 голосов
/ 22 января 2020

У меня есть список записей, и я хочу извлечь отдельный список (RecordList) значений из одного столбца (Due_Date) для заполнения ComboBox. Я просмотрел все опубликованные ответы здесь, но так и не нашел то, что мне нужно. Мой код ниже. Это может быть что-то простое, но я перепробовал множество вещей безрезультатно.

Using context = New iTracContext

    Dim RecordList As New List(Of TrainingRecord)

    If loadAll Then
        RecordList = context.TrainingRecords.Include("TrainingReference").Where(Function(e) e.EmployeeID = EmployeeID).ToList
    Else
        RecordList = context.TrainingRecords.Include("TrainingReference").Where(Function(e) e.EmployeeID = EmployeeID And e.due_date.Year = TrainingManagerForm.YR).ToList
    End If

1 Ответ

2 голосов
/ 22 января 2020

Создайте EqualityComparer на основе даты

Public Class TrainingRecordEqualityComparer
    Implements IEqualityComparer(Of TrainingRecord)

    Public Overloads Function Equals(x As TrainingRecord, y As TrainingRecord) As Boolean Implements IEqualityComparer(Of TrainingRecord).Equals
        Return x.Due_Date.Equals(y.Due_Date)
    End Function

    Public Overloads Function GetHashCode(obj As TrainingRecord) As Integer Implements IEqualityComparer(Of TrainingRecord).GetHashCode
        Return obj.Due_Date.GetHashCode()
    End Function
End Class

и позвоните Distinct в списке

RecordList = RecordList.Distinct(New TrainingRecordEqualityComparer).ToList()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...