我编写了如下所示的 LINQ 查询:
List<Actions> actions = resourceActions.Actions.Select(s => s.ActionName).ToList();
我如何在这里选择多个列?即我想添加列s.ActionId
和s.IsActive
. 我无法应用它。
我编写了如下所示的 LINQ 查询:
List<Actions> actions = resourceActions.Actions.Select(s => s.ActionName).ToList();
我如何在这里选择多个列?即我想添加列s.ActionId
和s.IsActive
. 我无法应用它。
创建一个类来表示您想要的数据:
public class ResourceAction
{
public int Id {get;set;}
public string Name {get; set; }
}
选择这些列表:
List<ResourceAction> actions = resourceActions.Actions
.Select(s => new ResourceAction() { Id = s.Id, Name = s.ActionName}).ToList();
我相信这就是你要找的。但是,您需要将输出更改为匿名类型。
var actions = resourceActions.Actions.Select(s => new { s.ActionName, s.ActionId, s.IsActive } ).ToList();
您可以为此使用匿名类型,例如
var actions = resourceActions.Actions.Select(s =>
new { Id = s.Id, Name = s.ActionName, Active = s.IsActive).ToList();
但更好的方法是创建一个类
public class ActionWithId
{
public int Id { get; set; }
public string Name { get; set; }
public bool Active { get; set; }
}
List<ActionWithId> actions = resourceActions.Actions.Select(s =>
new ActionWithId() { Id = s.Id, Name = s.ActionName, Active = s.IsActive }).ToList();