したがって、私のEFモデルは関係を持ち、例に見られるように、これらの関係はICollectionの仮想プロパティで行う必要があります。EF ICollection対リストVs IEnumerable対IQueryable
例:
public class Task
{
public int Id { get; set; }
public string Description { get; set; }
public virtual ICollection<SubTask> { get; set; }
}
私は遅延実行を防ぐためのIEnumerableを使用する必要があることをどこかで読ん、正しいということでしょうか?つまり、私のDALメソッドがIEnumerableを返してもIQueryableが返された場合、その時点でSQLが実行され、Webページの.TOListを呼び出す時点では実行されません。
だから、ベストプラクティスは何ですか?私は何を返すべきですか? IEnumerable、List?、IList、ICollection?
THX
私は '仮想'が延期されているかどうかに責任があると思いましたが、間違っているかもしれません。 – mfussenegger
@mfussenegger virtualは、オーバーライド可能な宣言でのみ使用されます –