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

Kur*_*ula 2 c# lambda linq-to-entities

我在逗号分隔的字符串中使用roled id.我试图根据每个单独的循环内部的角色id从db中提取角色名称.

有没有选项可以使用linq或lambda表达式一次性获取所有角色名?

比如我有

var roleIds = "1,3,5,9";
Run Code Online (Sandbox Code Playgroud)

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

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

are*_*yla 5

你可以这样做:

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);
Run Code Online (Sandbox Code Playgroud)