D365 - Найти дубликаты записей для составных ключей с помощью LINQ - PullRequest
0 голосов
/ 11 июля 2019

Я хочу отфильтровать по RetrieveAll результат, полученный от QueryExpression в D365

Вот фрагмент кода:

private static List<IGrouping<string, Entity>> RetrieveDuplicates(IOrganizationService _crmService, DuplicateSearch duplicateSearch)
{
    QueryExpression query = GenerateQueryExpression(duplicateSearch.EntityLogicalName, duplicateSearch.DuplicatedColumnName, duplicateSearch.ColumnList.ToArray());
    Console.WriteLine("\n INFO: Finding duplicates is in progress ... \n");
    var results = _crmService.RetrieveAll(query)
                                    .OrderBy(e => e.GetAttributeValue<string>(duplicateSearch.DuplicatedColumnName))
                                    .ThenByDescending(e => e.GetAttributeValue<DateTime>("createdon"))
                                    .GroupBy(e => e.GetAttributeValue<string>(duplicateSearch.DuplicatedColumnName), e => e).ToList();

    WriteDuplicateRecordsInFile(results, duplicateSearch.EntityLogicalName);
    return results;
}

Я думаю передать duplicateSearch.DuplicatedColumnName как List<string>, но не знаю, как мне установить его в GroupBy.

Но теперь, согласно требованию, я хочу GroupBy несколько ключей, но не знаю, как я могу это сделать.

Дайте мне знать, требуется ли какая-либо другая информация.

Примечание: я хочу использовать здесь атрибуты динамики, которые будут выбраны пользователь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...