Исключение внешнего ключа селектора в запросе Mon go с объединениями - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь выполнить запрос внешнего соединения LINQ, который принимает две коллекции, объединяет их и идентифицирует потерянные записи. Однако я получаю исключение компиляции:

Дерево выражения не может содержать вызов или вызов, который использует необязательные аргументы

var query = from a in mongoCollectionA.AsQueryable()
                        .Where (a => a.column1 == "System1" && a.column2== "20200630"
                        from b in mongoCollectionB.AsQueryable() // the error is here
                        .Where(b => b.column1== a.column1 && b.column2 == a.column2)
                        .DefaultIfEmpty()
                        select new
                        {
                            a.column2,
                            a.column2
                        };

Я пробовал с " join ", но возникает другое исключение:

    from a in mongoCollectionA.AsQueryable()
             .Where (a => a.column1 == "System1" && a.column2 == "20200630"
    join b in mongoCollectionB.AsQueryable()
         on new { a.column1, a.column2} equals new { b.Column1, b.Column2} into joinedCol
     from j in joinedCol.DefaultIfEmpty()
           select new
           {
              a.column1,
              a.column2
           };

Невозможно определить информацию о сериализации для селектора внешнего ключа в дереве: aggregate ([]). Где (a => ((( a.column1 == "System1") AndAlso (a.column2 == "20200630"))). GroupJoin (агрегат ([]) ...

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