필터링 및 페이징을위한 모듈을 구현하고 싶습니다. 나는 성공하기 위해 Dynamic Linq 또는 Reflection을 사용해야한다는 것을 이해했기 때문에 작동하게하기 시작했습니다 ..하지만 텍스트가 포함 된 필드가 일대 다 관계 EF에서 필터링되지 않기 때문에 좋아하지 않습니다.
이 코드는 정상적으로 작동하지만 정적입니다.
List<Domain.Entities.Action> actions = db.Actions.Include("Menus").Include("ActionDetails")
.Where(x => x.ActionDetails.Any(y => y.Language.Culture == _currentCulture))
.OrderBy(y => y.ActionDetails.Select(z => z.Title).Max()).Skip((pager.Index - 1) * pager.Take).Take(pager.Take)
.ToList();
나는
. (z => z.Title)을 선택하십시오.
동적..
누군가 나를 도울 수 있을까 .. 나는 많은 것을 시도한다.
주
이를 위해서는 Funt<Action, TResultType>
searchCriteria
매개 변수를 전달해야합니다.
메소드 서명이 무엇인지 확실하지 않지만 List<string>
을 반환하려는 경우 작동합니다.
public List<string> PerformSearch(Func<Action, string> selectCriteria)
{
return db.Actions.Include("Menus").Include("ActionDetails")
.Where(x => x.ActionDetails.Any(y => y.Language.Culture == _currentCulture))
.OrderBy(y => y.ActionDetails.Select(**selectCriteria**).Max())
.Skip((pager.Index - 1) * pager.Take).Take(pager.Take)
.ToList();
}