C# Lambda 表达式以逗号分隔的 id 提取所有名称

C# Lambda expression to pull all names by comma separated ids

我在逗号分隔的字符串中设置了角色 ID。我正在尝试根据循环内的角色 ID 从数据库中提取角色名称。

是否有任何选项可以使用 linq 或 lambda 表达式一次获取所有角色名?

比如我有

var roleIds = "1,3,5,9";

类似于下面拉出一个角色名称的 lambda 表达式,我可以在没有循环的单行代码中拉出角色 ID 的所有角色名称吗?

for (var i; i < mycommaseperatedRoleIds.count; i++)
    var roleName = db.Roles.Where(k => k.Id == roleId).Select(p => p.Role);

你可以这样做:

var roleIds ="1,3,5,9".Split(',').Select(s => int.Parse(s));

var roleNames = db.Roles.Where(k => roleIds.Contains(k.Id)).Select(p => p.Role);