简体   繁体   English

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

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

I have roled ids in a comma separated string. 我在一个以逗号分隔的字符串中分配了ID。 I am trying to pull role names from db based on the role id each separately inside loop. 我试图在循环内分别基于角色ID从数据库中提取角色名称。

Is there any option to get all rolenames at once using linq or lambda expression? 是否可以使用linq或lambda表达式一次获取所有角色名?

For example I have 例如我有

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

Similar to the lambda expression below to pull one role name can I pull all role names for role ids in a single line code with out a loop? 与下面的lambda表达式类似,它可以提取一个角色名称,是否可以在单个代码中不带循环地提取角色ID的所有角色名称?

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

You can do something like this: 您可以执行以下操作:

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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM