Linq查询在尝试传递从列表对象提取的列值时返回null。是否有可能按照代码完成。期待回答或一些建议。Linq查询在尝试从列表对象传递列值时返回null
var query = from p in context.ProcessStepTables
where (p.DiagramID == diagramInfo.DiagramID)
orderby p.ProcessNo select new{
DiagramProcessID = p.DiagramProcessID,
ProcessNo = p.ProcessNo,
ProcessID = p.ProcessID,
ProcessName = Process().Find(x =>
p.ProcessID == x.ProcessID).ProcessName.ToString(),
MakerName = Maker().Find(x=>
p.MakerID==x.MakerID).MakerName.ToString(),
Price = p.Price,
Note = p.Note,
Notice = p.Notice
};
private List<MakerTable> Maker()
{
List<MakerTable> pList = new List<MakerTable>();
try
{
IQueryable<MakerTable> maker = (from data in context.MakerTables
select data) as IQueryable<MakerTable>;
foreach (MakerTable val in maker)
{
pList.Add(val);
}
return pList.OrderBy(x => x.MakerName).ToList();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return null;
}
}
在代码中它是否返回null? – OmegaMan
什么信息?由于某些例外,我可以看到返回值可能为空。最好删除或注释掉所有'try-catch'块来调试它。 –
对不起,查询是异常“LINQ to Entities不能识别方法'System.String ToString()'方法,并且此方法不能被转换为存储表达式。” var查询部分正在返回异常! – neo