나는 Stackoverflow 주위를 둘러 보았고 NHibernate IList vs List와 관련된 몇 가지 질문을 보았다. 내 자신의 질문이 ...NHibernate IList 또는 List?
IList의 목적은 lazyloaded 목록을 갖는 것이므로 저장소에서 반환하는 용도는 무엇입니까? 결국 저장소 호출을 ToList()하면 확실한 객체가 생성됩니까? 그러므로 당신의 메소드가 IList 나 List를 리턴하고 있다면, 더 이상 게으른 로딩이 필요하지 않습니까?
감사합니다. 이것은 내가 확신했던 것이 아니지만, 확실히 옳은 것으로 들립니다. 따라서 항상 IList를 리포지토리 메서드에서 반환하는 습관을 가지는 것이 가장 좋습니다. – MattB
@MattB 게으름 때문에, 당신은'IQueryable' 또는'IEnumerable'을 반환 할 것입니다. 왜냐하면 구체화되기 때문에, 'IList'는 많은 이유에서 의미가 있습니다. 'List'을 포함시킬 특별한 이유가 없습니다 (LINQ 시퀀스의 끝에서''ToList() '를 사용하는 경우는 예외). 그러나이 경우조차도 일관성을 위해'IList '를 반환하기를 원할 것입니다 그리고 결과가 암시 적으로 upcasted하게합시다) (그리고 네, 아마 당신은 아마 지금이 모든 것을 알고 있습니다. 그러나이 대답은 잘못 해석되는 경향이 있습니다. 따라서 내 대답은 ...) –