우리는 엔티티 프레임 워크 컨텍스트에서 객체를 검색하기 위해 사용자 정의 리포지토리 클래스를 만들었습니다. Get 메서드는 항상 전체 개체를 반환합니다.LINQ를 사용하는 사용자 정의 투영 연산자
매개 변수로 프로젝트 운영자 선택을 포함하고 싶습니다. 그래서 외부에서 우리가 선택할 수있는 것을 선택해야합니다. & SQL 쿼리가 더 효율적입니다. 그것은 가능합니까?
public class GenericRepository<TEntity> where TEntity : class
{
internal DbContext context;
public IEnumerable<TEntity> Get(
Expression<Func<TEntity, bool>> filter = null,
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null)
{
IQueryable<TEntity> query = dbSet;
if (filter != null)
{
query = query.Where(filter);
}
if (orderBy != null)
{
return orderBy(query).ToList();
}
else
{
return query.ToList();
}
}
}
의 사용을 만들 수 있습니다 저장소의 사용자에게 LINQ의 모든 권한을 부여 하시겠습니까? 또한 저장소를 사용하지 마십시오. 특히 "일반"것들. – Euphoric
@ 행복감 사람들에게 리포지토리를 사용하지 말라고 말하면 이유를 말해주십시오. – DavidG
Automapper 투영을 보았습니까? – lopezbertoni