score:12

Accepted answer

Make a class to represent the data you want:

public class ResourceAction
{
   public int Id {get;set;}
   public string Name {get; set; }
}

Select a list of those instead:

List<ResourceAction> actions = resourceActions.Actions
  .Select(s => new ResourceAction() { Id = s.Id, Name = s.ActionName}).ToList();

score:2

I believe this is what your looking for. However you need to change the output to an anonymous type.

var actions = resourceActions.Actions.Select(s => new { s.ActionName, s.ActionId, s.IsActive } ).ToList();

score:2

You can use a anonymous type for this, for example

var actions = resourceActions.Actions.Select(s => 
    new { Id = s.Id, Name = s.ActionName, Active = s.IsActive).ToList();

but a better way would be to create a class like

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

Related Articles