在 ASP.NET MVC 4 项目中,我有一个连接模型(带有有效负载):
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; }
}
我正在尝试拉动联盟的所有活跃成员。所以,在 League 模型中,我创建了一个这样的属性:
public virtual ICollection<LeagueMember> LeagueMembers { get; set; }
public IEnumerable<Member> GetActiveMembers
{
get
{
return LeagueMembers.Select(a => a.IsActive == true ? a.Member : null);
}
}
但看起来它返回一个大小等于所有集合的集合Members
(非活动成员的值为空)。
有没有更好的方法在匿名方法中应用过滤器以避免空值?