只要工具中有相应的记录,我都希望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错误。错误是:
名称“文件”在当前上下文中不存在
我的语法出了什么问题?