【发布时间】:2016-12-02 07:22:07
【问题描述】:
我想执行这个查询:
public List<ViewSheet> ShowSheet(List<Sheet> lst)
{
var res = (from sheet in _sheetRepository.Get()
join line in _lineRepository.Get() on sheet.LineId equals line.Id
join basemat in _baseMaterialRepository.Get() on sheet.BaseMaterialId equals basemat.Id
join lineend in _lineEndRepository.Get() on sheet.LineEndId equals lineend.Id
join Paint in _paintCodeRepository.Get() on sheet.PaintCodeId equals Paint.Id
select new ViewSheet()
{
BaseMaterialId = basemat.Name,
Catagory = sheet.Catagory,
LineEndId = lineend.Name,
LineId = line.LineNumber,
MtPercent = sheet.MtPercent,
PAndId = sheet.PAndId,
PaintCodeId = Paint.Name,
ParentId = sheet.ParentId,
}).ToList();
return res;
}
如您所见,我在 4 个表之间创建了一个连接,get 函数具有以下结构:
public interface ISheetRepository
{
IQueryable<Sheet> Get();
bool Save();
}
但我收到此错误:
指定的 LINQ 表达式包含对以下查询的引用 与不同的上下文相关联。
【问题讨论】:
标签: c# entity-framework linq join