EF ICollection Vs Lista Vs IEnumerable Vs IQueryable
Então, meu modelo EF tem relacionamentos e, de acordo com o que eu vi nos exemplos, esses relacionamentos devem ser feitos com propriedades virtuais de ICollection.
Exemplo:
public class Task
{
public int Id { get; set; }
public string Description { get; set; }
public virtual ICollection<SubTask> { get; set; }
}
Eu li em algum lugar que eu deveria usar IEnumerable para evitar a execução adiada, isso é correto? Isso significa que se meus métodos DAL retornarem IEnumerable, ainda de IQueryable, o SQL será executado naquele momento, e não no momento em que eu chamar .TOList na página web.
Então, qual é a melhor prática? O que devo devolver? IEnumerable, List ?, IList, ICollection?
THX