런타임 데이터 격자 필터링에 DataGridFiltering project으로 동적 리치를 사용하려고하는데 enums에 문제가 있습니다.동적 linq 열거 형 필터링 오류
예를 들어, 나는 다음과 같이 열거 속성을 포함하는 클래스가 있습니다
public class Student
{
public Student(int id,string name,StudentType type)
{
Id = id;
Name = name;
Type = type;
}
public int Id { get; set; }
public string Name { get; set; }
public StudentType Type { get; set; }
}
및 StudentType 열거입니다
public enum StudentType : byte
{
Normal=0,
Good
};
내가 학생들의 목록 작업을위한 컨트롤러 클래스를 만듭니다.
내 컨트롤러에는 유형별로 학생을 찾는 방법이 있습니다. 내가 FindByType 메서드를 호출 할 때
public IList<Student> FindByType(string type)
{
return _students.AsQueryable().Where("Type.ToString().StartWith(@0)",type).ToList();
}
나는 동적 LINQ의 ParseMemberAccess 방법이 오류 얻을 :
이
은 FindByType 방법이다 유형에방법 '열거에게'액세스 할 수 없습니다
답변 해 주셔서 감사합니다. 내가 동적 linq의 최신 버전을 사용하고 있습니다. 왜냐하면 내가 DataGridFilter를 사용하여 Type.ToString()의 Type instate를 작성할 수 없기 때문입니다. 사용자가 열거 형 사용자임을 모릅니다. 유형 필드 az 문자열을 참조하십시오. 시작 조건, 종료 조건 또는 조건을 필터링하여 필터링해야합니다. –
문자열을 지정할 수있는 코드를 추가 했으므로 StartsWith 필터링을 사용하여 원하는 목록을 다시 가져올 수 있습니다. 그러나 코드의 중간 부분에서 문자열 메서드를 사용하고 StartsWith 필터링을 사용하기 때문에 원하는 것을 얻을 수 있어야합니다. 표준 Linq를 사용할 수없는 이유가 있습니까? –