Запрос Linq / Entity Framework не распознает все мои переменные диапазона - PullRequest
0 голосов
/ 21 марта 2019

Я хочу все в списках файлов, пока в инструментах есть соответствующая запись. У меня есть 0..1 ко многим отношениям между Machine, PrintTypes и MaterialTypes. У меня есть много к одному между FileLists и Tools. Я хочу, чтобы все записи из списков файлов, если есть совпадение в инструментах. Значения в Machine, PrintTypes и MaterialTypes являются необязательными. Если они есть в этих таблицах, я тоже хочу этого, если нет, я просто хочу, чтобы ноль отображался Я думаю, что это правильное внешнее соединение.

Мой запрос выглядит так:

            var query = 
                from tool in context.Tools
                join file in context.FileLists on tool.ToolID equals file.ToolID
                into machine from rt in machine.DefaultIfEmpty()
                //join print in context.PrintTypes on file.PrintTypeID equals print.PrintTypeID
                //join material in context.MaterialTypes on file.MaterialTypeID equals material.MaterialTypeID

                where file.IsFirstPartRecord == false
                orderby file.FileListID ascending
                select new {
                    ToolNumber = tool.ToolNumber,
                    Description = tool.Description,
                    Date = file.Date,
                    Time = file.Time,
                    FileListID = file.FileListID,
                    MachineName = machine.Name,
                    //PrintType = print.Name,
                };

Когда я добавляю строку:

            into machine from rt in machine.DefaultIfEmpty()

Все файлы .XXX имеют ошибки. Ошибка:

Имя «файл» не существует в текущем контексте

Что не так с моим синтаксисом?

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