Linq / Entity Framework查询无法识别我所有的范围变量

时间:2019-03-20 22:26:32

标签: c# entity-framework linq

只要工具中有相应的记录,我都希望FileLists中的所有内容。我对机器,PrintTypes和MaterialTypes之间的许多关系有0..1的关系。我在FileLists和Tools之间有很多选择。如果工具中有匹配项,我希望从FileLists中获得所有记录。 Machine,PrintTypes和MaterialTypes中的值是可选的。如果它们存在于该表中,我也想要它,如果不存在,我只想显示null。我认为这是正确的外部联接。

我的查询如下:

            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错误。错误是:

  

名称“文件”在当前上下文中不存在

我的语法出了什么问题?

0 个答案:

没有答案