我基本上有:
public ActionResult MyAction(List<int> myIds)
{
var myList = from entry in db.Entries
where (myIds == null || myIds.Contains(entry.Id))
select entry;
return View(myList);
}
目标是仅获取具有传递的ID的项目或返回所有项目。 (其他标准为清晰起见)
当我返回myList
时,我收到异常,我做了一些调试,并且在执行.ToList()
时发生了
无法比较'System.Collections.Generic.List`1'类型的元素。
只有原始类型(如Int32,String和Guid)和实体 支持类型。
答案 0 :(得分:22)
问题是因为myIds为空。
我需要:
public ActionResult MyAction(List<int> myIds)
{
if(myIds == null)
{
myIds = new List<int>();
}
bool ignoreIds = !myIds.Any();
var myList = from entry in db.Entries
where (ignoreIds || myIds.Contains(entry.Id))
select entry;
return View(myList);
}