저장소 리팩토링을 고려 중입니다. 유연성을 높이고 메소드 수를 줄여야합니다.필터링을 위해 linq 표현식을 사용하는 저장소
다음과 같은 방법이 있습니다:
ICollection GetUsers(Expression e)
{
//retrieve user collection from store
//apply expression to collection and return
}
이 합리적인 접근 방식 :
Collection GetAllUsersByRole(Role role)
User GetUserByuserName(string userName)
... 나는 하나의 방법 A의 LINQ 표현을 복용하고 싶은가? 아마도 하드 코딩 된 기준에 따라 사용자의 하위 집합을 검색하기보다는 전체 사용자 컬렉션을 검색하고 필터링해야하기 때문에 효율성이 떨어질 것입니다.
편집 : NHibernate 내 구현에 ORM을 제공합니다.
"가장 간단한 방법은 모든 개체를 메모리에 가져 와서 조건부 식으로 필터링하는 것입니다." Thats는 좋은 점으로,이 클래스는 다른 로직에 대한 번역자가 될 수 있지만 노출 된 메소드의 수를 더 작게 만듭니다. –