새 프로젝트를 사용하고 있으며 저장소 계층에서 작업하고 있습니다. 이것은 저장소 패턴을 사용하는 제 2 프로젝트입니다. Scott Millett의 저서를 읽었습니다. Professional ASP.NET 디자인 패턴 Scott은 책에서 사례 연구를 참조하면서 그의 저장소 인터페이스에서 Query Object Pattern을 사용했습니다. 이전 프로젝트에서이 목적으로 LINQ를 사용했는데 잘 작동했습니다.쿼리 개체 패턴 대 LINQ
내 질문은 다음과 같습니다. 쿼리 개체 패턴 구현을 사용하는 것과 장내에서 LINQ를 사용하는 것에 대한 장단점은 무엇입니까?
1. 쿼리 개체 패턴 방식
public interface IReadOnlyRepository<T, TId> where T : IAggregateRoot
{
T FindBy(TId id);
IEnumerable<T> FindAll();
IEnumerable<T> FindBy(Query query);
}
2. LINQ 접근
public interface IReadOnlyRepository<T, TId> where T : IAggregateRoot
{
T FindBy(TId id);
IQueryable<T> FindAll();
IQueryable<T> FindBy(Expression<Func<T, bool>> query);
}
어떤 기여 :
다음은 2 개의 다른 접근 방식을 설명 2 개 시나리오입니다 도움이 될 것입니다.
IMHO, 표현 트리는 쿼리 개체 패턴의 특별한 형태입니다. –