我编写了一个LINQ查询,如下所示:
List<Actions> actions = resourceActions.Actions.Select(s => s.ActionName).ToList();
如何在此处选择多列?即我想添加列s.ActionId和s.IsActive。我无法申请
答案 0 :(得分:11)
创建一个类来表示您想要的数据:
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();
答案 1 :(得分:2)
我相信这就是你要找的东西。但是,您需要将输出更改为匿名类型。
var actions = resourceActions.Actions.Select(s => new { s.ActionName, s.ActionId, s.IsActive } ).ToList();
答案 2 :(得分:2)
您可以使用匿名类型,例如
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();