Лямбда / Linq Ошибка "Элемент с тем же ключом уже был добавлен" - PullRequest
0 голосов
/ 03 мая 2011

«Элемент с тем же ключом уже добавлен» - это ошибка, которую я получаю.Что я делаю неправильно?Заранее благодарю за любую помощь.

 using (var Customerconn = new DataClassesDataContext())
        {
            Dictionary<int, string> Empsource = Customerconn.tblOutOfOfficeLogs

                      .Join(Customerconn.tblEmployees,
                      l => l.EmployeeID,
                      emp => emp.EmployeeID,
                      (l, emp) => new { ID = emp.EmployeeID, Name = emp.FirstName + " " + emp.LastName }) 
                .Distinct()
                .ToDictionary(empl => empl.ID, empl => empl.Name);

               //Set combo box source to Empsource


        }

1 Ответ

4 голосов
/ 03 мая 2011

Даже если вы уверены, что дубликатов EmployeeID не существует, вы можете вызвать дубликаты в операторе объединения, если один и тот же сотрудник хранит более одного журнала.Разве это не ваша проблема?

Работает ли следующее?

        Dictionary<int, string> Empsource = tblOutOfOfficeLogs
            .Select(x => x.EmployeeID).Distinct()
                       .Join(tblEmployees,
                             l => l,
                             emp => emp.EmployeeID,
                             (l, emp) => new { ID = emp.EmployeeID, Name = emp.FirstName + " " + emp.LastName })
                       .ToDictionary(empl => empl.ID, empl => empl.Name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...