通过集合ID检索记录,LINQ

问题描述 投票:0回答:1

如果要传递的ID集合中存在该ID,我想检索行。

这是到目前为止我尝试过的。

var typeOfNeedIds = [1,2,3];
var query = (from up in _context.UserNeeds
             .Include(u => u.UserNeedTypes).ThenInclude(ut => ut.TypeOfNeed)
                where (typeOfNeedIds.IsNullOrEmpty() ||
                       typeOfNeedIds.All(id => up.UserNeedTypes.Select(t => t.TypeOfNeedId).Contains(id)))
                select up).AsNoTracking();

我也尝试过

typeOfNeedIds.Any(id => up.UserNeedTypes.Any(t => t.TypeOfNeedId == id))

但无济于事。

我的代码怎么了?任何帮助将不胜感激。

c# linq collections many-to-many
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.