8,497
社区成员
发帖
与我相关
我的任务
分享
//下面是目前的办法
//当((int.TryParse(dishID, out menuId) && menuId > 0)条件不满足时,直接join返回
//否则约束条件where cook.menuId == menuId
var cookData = from cook in cookList join annote in annotateL on cook.noteId equals annote.id where
((int.TryParse(dishID, out menuId) && menuId > 0) ? cook.menuId == menuId : cook.menuId > 0)
select new { cook, annote.name
};
if (cookData != null && cookData.Count() > 0)
{
List<CookMethod> cookMethodList = new List<CookMethod>(cookData.Count());
foreach (var cookdata in cookData)
{
CookMethod cm = new CookMethod();
cm.ID = cookdata.cook.noteId;
cm.DishID = cookdata.cook.menuId;
cm.Content = cookdata.name;
cookMethodList.Add(cm);
}
return cookMethodList;
}
var cookData = (int.TryParse(dishID, out menuId) && menuId > 0)
? (from cook in cookList join annote in annotateL on cook.noteId equals annote.id where cook.menuId == menuId select new { cook, annote.name })
: (from cook in cookList join annote in annotateL on cook.noteId equals annote.id select new { cook, annote.name });