문제

나는 엔티티 프레임 워크를 정말 좋아하지만 나에게 도전하는 몇 가지 주요 작품이 있습니다. 누구든지 협회 열에서 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

나는 이런 일을하지 않았다는 것을 인정해야하지만,이 트릭을 사용하여 관련 엔티티를 먼저로드하지 않고 엔티티를 업데이트/작성했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top