gpt4 book ai didi

linq - 获取其键匹配ID列表(或数组)的实体

转载 作者:行者123 更新时间:2023-12-04 03:30:26 25 4
gpt4 key购买 nike

我正在使用CodeFirst EntityFramework。我有一个使用context.Users返回的IQueryable<User>实体;其中context是EntityFramework的DbContext。从此列表中,我必须选择ID包含在一组ID(长整数)中的ID。 ID是用户实体的主键。我已经尝试了以下方法,但是得到了编译器错误。

IQueryable<User> users = GetQueryableUsers(); 
long [] ids = GetSelectedIds(); //array of long representing Ids key of User entities
users.Intersect(ids); // compilation error
users.Where(user => ids.Contains(user.Id)); //compilation error

编译错误为(找不到相交/包含的定义)
注意:System.Linq已导入。

最佳答案

确保您引用的是System.Linq

例如using System.Linq
然后,user.Id必须为long类型。您在评论中说过很长?因为您认为那是您需要使用主键的方式。解决方案是使用很长时间,并利用 Entity Framework 的自动生成id选项。

另外,对于可能为null的非主键,更一般的情况是将contains选项与value或default运算符一起使用。

users.Where(user=>ids.Contains(user.id??0));

关于linq - 获取其键匹配ID列表(或数组)的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7011033/

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