협회 값에 대한 필터 엔터티 디타 타사
-
03-07-2019 - |
문제
나는 엔티티 프레임 워크를 정말 좋아하지만 나에게 도전하는 몇 가지 주요 작품이 있습니다. 누구든지 협회 열에서 EntityDatasource를 필터링하는 방법을 알려줄 수 있습니까? EF는 FK 값을 숨기고 대신 연관 속성을 가지고 있습니다. 개인 유형 협회를 가진 단체, 사람이 주어지면, 유형별로 내 개인 엔티티를 필터링하려면 이와 같은 일이 일어날 것으로 예상했을 것입니다.
GridDataSource.EntityTypeFilter = "it.PersonType.PersonTypeID = 1";
또는
GridDataSource.Where = "it.PersonType.PersonTypeID = '1'";
또는
GridDataSource.WhereParameters.Add(new Parameter("it.PersonType.PersonTypeID", DbType.Object, "1"));
그러나 그 일은 아무 일도하지 않습니다. 이 작업을 수행하는 방법을 아는 사람 있나요?
해결책
당신이 찾고있는 대답은 다음과 같은 포함 메소드를 사용하는 것과 관련이 있다고 생각합니다.
entities.it.Include("PersonType").Where(a => a.PersonType.PersonTypeID = '1');
다른 팁
LINQ를 사용하여 메모리에 필터를 적용해 보셨습니까? (또는 아마도 데이터베이스에 대해?)
var personType = new PersonType { Id = 1 };
var query = PersonDataSource.Where(p => p.PersonType.Equals(personType));
// use this query as the DataSource for your GridView
나는 이런 일을하지 않았다는 것을 인정해야하지만,이 트릭을 사용하여 관련 엔티티를 먼저로드하지 않고 엔티티를 업데이트/작성했습니다.
제휴하지 않습니다 StackOverflow