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