"클라이언트"이라는 엔터티와 "카드"이라는 엔터티가 있습니다.EF6을 사용하여 상대 엔터티의 수를 얻는 방법
클라이언트에는 카드이 많이있을 수 있습니다.
public class Client{
public virtual ICollection<Card> Cards {get; set;}
}
가 지금은 WPF에서 DataGrid에 클라이언트에게 데이터를 보여주고 싶은, 나는 카드 데이터를 카운트 싶어, 그래서 추가
내 클라이언트는 엔티티는 다음과 같습니다
public class Client{
public virtual ICollection<Card> Cards {get; set;}
public int CardCount
{
return Cards.Count;
}
}
그리고 다음을 나는 데이터 w를 조회 : 같은 클라이언트 엔티티에 속성 나는 응용 프로그램을 실행하면 Linq에와 바인딩이
var query = from n in db.Clients select n;
을 볼 수 i 번째, 난 그냥 바로 return Cards.Count;
줄에 예외를 얻었다;
System.ObjectDisposedException
The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
그래서 내가 어떻게 제대로 카드을 계산 얻을 수 있을까?
또한 여기에 문제가 있는데, 클라이언트 엔터티 인스턴스 바인딩을 직접 Datagrid에 사용합니다. 클라이언트 엔터티에 속성이없는 경우 어떻게 CardsCount 열 데이터를 표시합니까? –
간단하지 않아야합니다. 쿼리 대상과 방법을 적절하게 제어하려면 데이터에 적합한 래퍼를 구현해야합니다. 이는 성능을 적절하게 제어 할 수있는 유일한 방법입니다. 그러나 자신이 소품에 접근 할 필요가없고 그 결과와 관련된 유일한 것이'DataGrid'라면, 익명의 타입을 사용하여 결과를 * 비 전형적인 * 콜렉션으로 반환 할 수 있습니다. 'DataGrid'도 바인딩 할 수 있습니다. –
시도해보고 예외가 발생했습니다 : '건너 뛰기'메서드는 LINQ to Entities의 정렬 된 입력에 대해서만 지원됩니다. –