Filtering records with IEnumerable.Select

anonymous-methods, asp.net-mvc, c#, entity-framework, linq

Solution

Just remove your ternary condition within Select Method.

public IEnumerable<Member> GetActiveMembers
{
    get
    {
        return from activeMember in LeagueMembers
               where activeMember.IsActive == true
               select activeMember.Member;
        //return LeagueMembers.Select(a => a.IsActive == true);
    }
}

Problem

In ASP.NET MVC 4 project, I have a model for join (with payload): ``` public class LeagueMember { [Key, Column(Order = 0)] public int MemberId { get; set; } [Key, Column(Order = 1)] public int LeagueId { get; set; } public bool? IsActive { get; set; } [Required] public virtual League League { get; set; } [Required] public virtual Member Member { get; set; } } ``` I am trying to pull all the active members of the league. So, in League model, I created a property like this: ``` public virtual ICollection<LeagueMember> LeagueMembers { get; set; } public IEnumerable<Member> GetActiveMembers { get { return LeagueMembers.Select(a => a.IsActive == true ? a.Member : null); } } ``` But it looks like it returns a collection with size equals to that of all `Members` (with null values for the inactive members). Is there a better way to apply filter in anonymous method to avoid nulls?

Original source

Related problems