EF ICollection Vs List Vs IEnumerable Vs IQueryable

Mein EF-Modell verfügt also über Beziehungen. Entsprechend den Beispielen sollten diese Beziehungen mit den virtuellen Eigenschaften von ICollection hergestellt werden.

Beispiel:

 public class Task
    {
        public int Id { get; set; }
        public string Description { get; set; }
        public virtual ICollection<SubTask>  { get; set; }
    }

Ich habe irgendwo gelesen, dass ich IEnumerable verwenden sollte, um eine verzögerte Ausführung zu verhindern. Ist das richtig? Das bedeutet, dass, wenn meine DAL-Methoden IEnumerable, immer noch von IQueryable, zurückgeben, die SQL in diesem Moment ausgeführt wird und nicht in dem Moment, in dem ich .TOList auf der Webseite aufrufe.

Was ist die beste Vorgehensweise? Was soll ich zurückgeben? IEnumerable, List?, IList, ICollection?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage