파티에 늦 았지만 최소한 대답을 게시 할 것이라고 생각했습니다. 작은 호들갑으로이를 달성하는 두 가지 방법이 있습니다 (실제로는 같은 방법이지만 약간 다른 경로).
그래서 우리는 기본 EF 컨텍스트 쿼리를 실행합니다.
var query = context.Projects
.Where(x => x.Division == selectedDivision);
엔티티가 로컬 캐시에로드되도록 쿼리를로드하십시오. 그런 다음 로컬 캐시의 동기화는 바인딩에 DGV의 바인딩 소스를 가리 킵니다
query.Load();
projectBindingSource.DataSource = context.Projects.Local.ToBindingList();
OR ...이 추적 또는 캐시를 변경할 필요가 내가 원하는하지 않았다 시간/있었다 그래서 다른 작업의 "방법에있어" 추적되지 않은 컬렉션이 필요했습니다.
추적하지 않고 쿼리를 실행하고 결과를 ObservableCollection에로드합니다 (이것이 .Local입니다). ObservableCollection에의 동기화는 바인딩
var locs = new ObservableCollection<Location>(query.AsNoTracking().ToList());
locationBindingSource.DataSource = locs.ToBindingList();
에 DGV의 바인딩 소스를 가리키는 모든 문자, 숫자 및 부울 열 정렬 헤더 클릭에 대해 사용 가능해야합니다. 정렬하지 않는 항목은 탐색 속성의 열입니다. 소유자 엔터티의 ToString()에서 Owner.FullName 속성을 재정의 했으므로 프로젝트에 소유자 탐색 속성이 있다고 가정합니다. FullName 값을 가진 소유자 열이 표시되지만 은이라고 가정합니다. 분류기는 여전히 열 유형을 System.Data.Entity 객체로보고 (표시되는 거품 위로 표시하는 대신) 기본 분류기를 사용하지 않습니다.
아무도이 문제에 직면 한 적이 있습니까? – Daniel