in ASP.NET MVC 4 progetto, ho un modello per la join (with payload):Filtraggio dei record con IEnumerable.Select
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; }
}
Sto cercando di tirare tutti i membri attivi del campionato. Quindi, nel modello di Lega, ho creato una proprietà come questa:
public virtual ICollection<LeagueMember> LeagueMembers { get; set; }
public IEnumerable<Member> GetActiveMembers
{
get
{
return LeagueMembers.Select(a => a.IsActive == true ? a.Member : null);
}
}
ma sembra che restituisce un insieme di dimensioni uguale a quella di tutti Members
(con valori nulli per i membri non attivi).
Esiste un modo migliore per applicare il filtro nel metodo anonimo per evitare i valori null?
Dobbiamo restituire '.Member', non' .IsActive' (bool). – Annie
Vedere la mia modifica se si desidera ottenere l'elenco della proprietà .Member dell'oggetto enumerato in 'LeagueMembers'. – lexeRoy
Ha funzionato! Grazie. – Annie