0
테이블 네비게이션을 사용할 때 Entity Framework 및 리포지토리 패턴을 사용하고 있습니다. 첫 번째 개체를 가져 와서 필드를 참조 할 때 두 개의 쿼리가 실행되는 것을 확인했습니다. 네비게이션 객체. 내 탐색 속성에이 기술을 사용하여 데이터베이스에 많은 관계가 있으므로 성능 오버 헤드가 발생할 수 있습니다.다중 포함 엔티티 프레임 워크 및 리포지토리 패턴 사용
나는 Include(string tableName)
방법을 조사해 보았습니다.이 명령은 (일반 RP를 사용하지 않은 경우) 실제로 작동 할 수 있지만이 명령은 하나의 테이블 이름 만 사용합니다. 나는 하나의 포함을위한 내 저장소 패턴을 classs
에서 EntityObject
으로 변경함으로써이를 복제 할 수 있었지만 저장소 패턴을 사용하여 하나의 쿼리에 여러 개의 include를 포함시킬 수 있습니까 ?? 당신은 체인 당신은 포함 할 수
public class GenericRepository<T> : IRepository<T> where T : EntityObject, new()
{
private Entities _Context;
private ObjectSet<T> _ObjectSet;
public IQueryable<T> FindBy(System.Linq.Expressions.Expression<Func<T, bool>> predicate, string include)
{
// This works OK
return this._ObjectSet.Include(include).Where(predicate);
}
public IQueryable<T> FindBy(System.Linq.Expressions.Expression<Func<T, bool>> predicate, param string[] include)
{
// This will not work but is what I am trying to do
return this._ObjectSet.Include(include).Where(predicate);
}
}
,'쿼리 = query.Include이 (INC)'이 방법을 된 IQueryable가 포함되어 있지 않습니다 여기 내 코드입니다 ''Include''라고 불립니다. –
이미 추가 된'using System.Data.Entity' – heavyd
을 추가해야 할 수도 있습니다. –