엔티티 컬렉션에 대한 IList vs IENumerable
도메인 내에 사물 목록이 있는 엔티티가 있는 경우 ILists 또는 IEnumerable 중 어느 것으로 공개해야 합니까?예: 주문에 여러 개의 주문줄이 있습니다.
IEnumerable<T> 는 반복할 수 있는 일련의 항목을 나타냅니다(예: foreach 사용).는 추가 또는 삭제할 수 있는 컬렉션입니다.
일반적으로 OrderLines를 추가 또는 삭제하여 Order를 수정할 수 있으므로 Order를 원할 수 있습니다.행이 되는 것IList<OrderLine>.
그렇다고는 해도, 당신이 결정해야 할 프레임워크 설계 결정이 몇 가지 있습니다.예를 들어, 동일한 OrderLine 인스턴스를 2개의 다른 주문에 추가할 수 있습니까?아마 아닐 것입니다.따라서 OrderLine을 오더에 추가해야 하는지 여부를 검증할 수 있기 때문에 실제로 Lines 속성을 다음과 같이 나타낼 수 있습니다.IEnumerable<OrderLine>및 그 검증을 처리할 수 있는 Add(OrderLine) 메서드와 Remove(OrderLine) 메서드를 제공합니다.
IEnumerable에는 Count 메서드가 없고 인덱스를 통해 컬렉션에 액세스할 수 없기 때문에 대부분의 경우 IList over IEnumerable을 사용하게 됩니다(LINQ를 사용하는 경우에는 확장 메서드를 사용하여 이를 회피할 수 있습니다).
언급URL : https://stackoverflow.com/questions/376708/ilist-vs-ienumerable-for-collections-on-entities
'programing' 카테고리의 다른 글
| WPF에서 [Save As]대화상자를 표시하려면 어떻게 해야 하나요? (0) | 2023.04.17 |
|---|---|
| bash 스크립트에서 정규 표현을 사용하여 테스트를 부정하려면 어떻게 해야 합니까? (0) | 2023.04.17 |
| Git 분기 명령이 'less'처럼 작동합니다. (0) | 2023.04.17 |
| WPF DatePicker는 기본적으로 오늘 날짜로 설정됩니다. (0) | 2023.04.17 |
| PowerShell: PowerShell에서 어레이 개체를 문자열로 변환하는 방법 (0) | 2023.04.17 |