Linq 및 ObservableCollections 내 WPF 응용 프로그램에서 문제가 있습니다. 문제의Linq 및 ObservableCollection
컨텍스트 :
나는 두 개의 테이블과 매우 간단한 SQL 데이터베이스를 만든: 사용자 및 BankAccounts. 사용자 테이블에는 BankAccounts 테이블과 일대 다 관계가 있습니다. 다음으로 Linq-to-SQL 데이터 룩을 만들었습니다. 두 테이블 사이의 조화가 잘 감지되었습니다.
다음으로 잘 작동하는 모든 사용자를 retreive하는 함수를 만들었습니다
DataClassesDataContext dc = new DataClassesDataContext
var query = from u in dc.Users
select u;
는 지금은 각 사용자 (여전히 매우 가능성이 있지만)에 새 BankAccount가 추가한다고 가정합니다. 나는 위의 모든 잘 작동 다음 코드
for each(User u in query)
{
u.BankAccounts.Add(New BankAccount());
}
을 추가 할 수 있습니다. BankAccounts 속성은 데이터베이스와 Linq DataClasses의 assosiation으로 인해 자동으로 User 클래스의 일부입니다.
그러나 내 응용 프로그램에서는 먼저 쿼리 결과를 ObservableCollection에 추가합니다. 이로써 나는 데이터 바인딩과 changenotification에서 모든 종류를 사용할 수 있습니다. 이것은 다음 코드에 의해 수행됩니다.
ObservableCollection<User> oUsers = new ObservableCollection<User>(query);
문제 : ObservableCollection에 내 나는 그것이 유형의 지금 EntitySet < 때문에 사용자 BankAccounts 속성 anyting 할> 수 없습니다. 그래서 나는 더 이상 다음 진술을 할 수 없다. queryresults가 ObservableCollection에 추가 될 때
for each(User u in oUsers)
{
u.BankAccounts.Add(New BankAccount());
}
어떻게 든 더이상 user.BankAccounts 특성 액세서 불가능하다. 그러나 BankAccounts 속성을 목록 상자 같은 모든 컨트롤에 바인딩 할 수 있으며 올바른 데이터가 들어 있습니다.
누군가가이 "할당 된"속성에 액세스 할 수있는 observableCollction (또는 유사한 컬렉션)을 어떻게 만들 수 있습니까? 나는 정말로 해결책을 고대하고있다.
미리 감사드립니다. 안부,
바스 Zweeris E : [email protected]