8
데이터베이스에서 올바른 IQueryable<Project>
을 리턴하는 Expression<Func<Project, bool>>
유형의 표현식을 빌드 중입니다. IQueryable<Project>
에는 SubProjects
의 중첩 컬렉션이 있으며 필터도 마찬가지입니다. 이것은 다음과 같습니다.IQueryable의 중첩 항목을 필터링하려면 어떻게해야합니까? <T>?
데이터베이스를 한 번 호출하면됩니다. 예를 들어
: 나는이에 Expression<Func<SubProject, bool>>
을 추가 할 수있는 방법
Expression<Func<Project, bool>> projectFilter = FilterEnabled();
projectFilter = projectFilter.And(GetProjectsByOrganization())
.And(GetSubProjectsByStartDate());
var projectData = GetProjectsAsQueryable(projectFilter); //returns correct projects and the filtered sub projects by start date
이
public Expression<Func<Project, bool>> GetProjectByOrganization()
{
var organizationIDs = new List<Guid>();
if (FilterCriteria.OrganiazaitonId != null)
organizationIDs = OrganizationRepository.GetParentAndChildrenOrganizationIds(FilterCriteria.OrganiazaitonId.Value).ToList();
//...
return prj => FilterCriteria.OrganiazaitonId == null || organizationIDs.Contains(prj.OrganizationID.Value);
}
다음에 나오는 GetProjectsByOrganization
가 될 때 :
Expression<Func<Project, bool>> projectFilter = FilterEnabled();
projectFilter = projectFilter.And(GetProjectsByOrganization());
var projectData = GetProjectsAsQueryable(projectFilter); //returns correct projects
이 내가하고 싶은 것입니다 필터? 내가 가진 대안이 없다면?
Johnny5 나는 아직 그것을 시도하지 않은 @ 나는이 EntityFramework –
함께 작동합니다 생각하지 않지만 그 이유는 무엇입니까? 그것을 할 다른 방법이 있습니까? –