gpt4 book ai didi

c# - 无法比较 EF 查询中的元素异常

转载 作者:太空狗 更新时间:2023-10-29 17:33:20 30 4
gpt4 key购买 nike

我基本上:

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() 时发生了异常

Cannot compare elements of type 'System.Collections.Generic.List`1'.
Only primitive types (such as Int32, String, and Guid) and entity types are supported.

最佳答案

问题是因为 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);
}

关于c# - 无法比较 EF 查询中的元素异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13363963/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com