gpt4 book ai didi

c# - Linq to Entities EF4

转载 作者:可可西里 更新时间:2023-11-01 08:42:39 27 4
gpt4 key购买 nike

我有一个包含namedescusers(属于该组)集合的 Groups 域模型

我正在尝试获取特定用户所属的所有组。这是我的 LinQ 声明:

var results = from p in AuthorizationService.UnitOfWork.Groups.FindAll()
where
(p.Users != null && p.Users.Select(u => u.Id).Contains(CurrentUser.Id))
select p.Name;

当我尝试执行查询时出现以下错误

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

感谢任何帮助。谢谢!

最佳答案

删除用户对象的空测试,反正它是延迟加载的,你的用户是虚拟的吗?如果是,它是延迟加载的,然后删除空测试就可以了

var results = 
from p in AuthorizationService.UnitOfWork.Groups.FindAll()
where
p.Users.Any(u => u.Id == CurrentUser.Id)
select p.Name;

关于c# - Linq to Entities EF4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7067481/

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