SQL Select Where In已转换为Linq

本文关键字:转换 Linq In Select Where SQL | 更新日期: 2023-09-27 18:28:46

我正试图使用Linq从数据库的哪个位置进行选择。我试图重现的查询是:

   "Select * From Avatars Where userId IN (1, 2, 3)"

如果我有一个userId列表,怎么能用lambda来写呢。

我被困在那里了!!是并且有一个用户ID列表:

context.avatars.Where(a => a.userId == !!(userIds)!! )

SQL Select Where In已转换为Linq

您可以使用Contains方法:

var result=context.avatars.Where(a => userIds.Contains(a.userId));

Any:

 var result=context.avatars.Where(a => userIds.Any(e=>a.userId==e));

类似于:

context.avatars.Where(a => new[] { 1, 2, 3 }.Contains(a.userId));