데이터베이스 계층을 생성하여 LINQ 등을 스왑하고 사용할 수 있도록하고 싶습니다.nHibernate는 어떤 종류의 리턴 타입을 사용합니까? 목록 <T>?
내 추상 클래스 (또는 인터페이스)에서 항목의 목록/컬렉션을 반환하는 결과에 사용해야하는 반환 유형은 무엇입니까?
nHibernate가 List를 반환합니까?
데이터베이스 계층을 생성하여 LINQ 등을 스왑하고 사용할 수 있도록하고 싶습니다.nHibernate는 어떤 종류의 리턴 타입을 사용합니까? 목록 <T>?
내 추상 클래스 (또는 인터페이스)에서 항목의 목록/컬렉션을 반환하는 결과에 사용해야하는 반환 유형은 무엇입니까?
nHibernate가 List를 반환합니까?
IList<T>
을 사용해야합니다. NHibernate에 항상의 컬렉션에서 IList<T>
를 반환하고 문서는 말한다 : 콜렉션 매핑의
이름을 는 자바와 .NET 사이의 차이가 을 표시하는 하나 개의 분명한 장소입니다. Java의 콜렉션 라이브러리에는 보다 많은 옵션이 있습니다. System.Collection은 보다 많습니다.
* The <list> maps directly to an IList. * The <map> maps directly to an IDictionary. * The <bag> maps to an IList. A <bag> does not completely comply with
추가() 방법은 올바른 인덱스를 반환 보장되지 않기 때문에 IList의 인터페이스를 제공합니다. IList를 초기화하지 않고 개체를 에 추가 할 수 있습니다. IList를 API 의 사용자로부터 숨기거나 제대로 문서화하도록하십시오. * Iesi.Collections.ISet에 매핑됩니다. 해당 인터페이스 은 NHibernate와 함께 배포 된 Iesi.Collections 어셈블리의 일부입니다.
뿐만 아니라 추상화가 아닌 인터페이스에 대해 코드를 작성하는 것이 일반적으로 좋은 습관입니다.