我在逗号分隔的字符串中使用roled id。我试图根据角色id从循环中分别从db中提取角色名称。
有没有选项可以使用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);
答案 0 :(得分: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);