Autor Beitrag
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Do 12.03.09 10:10 
Hallo,

ich schreibe gerade mit WPF eine Oberfläche für eine Datenbank mittels Entity Framework. Jetzt habe ich den Fall, dass ich in einem Screen einen TreeView mit Kategorien und einem DataGrid mit den dazugehörigen Artikeln anzeigen muss, funktioniert grundsätzlich eigentlich auch, aber erst beim zweiten Mal.

Beim ersten Zugriff versuchen wohl zwei UIThreads Daten aus der Datenbank zu lesen und zwar einmal für das TreeView und einmal für das DataGrid und das scheint schief zu gehen, weil beim Zugriff vom TreeView aus, ich folgende Exception in der Ausgabe erhalte:
ausblenden Quelltext
1:
2:
3:
4:
System.Windows.Data Error: 16 : Cannot get 'List' value (type 'ObservableCollection`1') from '' (type 'AllProductCategoriesViewModel'). BindingExpression:Path=List; DataItem='AllProductCategoriesViewModel' (HashCode=3132301); target element is 'TreeView' (Name=''); target property is 'ItemsSource' (type 'IEnumerable') TargetInvocationException:'System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Data.EntityException: Fehler beim zugrunde liegenden Anbieter auf Open. ---> System.InvalidOperationException: Die Verbindung wurde nicht geschlossen. Der aktuelle Status der Verbindung ist 'Verbindung wird hergestellt'.
   bei System.Data.ProviderBase.DbConnectionBusy.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   bei System.Data.SqlClient.SqlConnection.Open()
   bei System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)

Jetzt weiß ich gerade nur nicht, wie ich da herumkomme. Ich verwende eine gemeinsame Entity-Instanz, damit ich alle Daten nur einmal lade und die Beziehungszuweisungen leicht vornehmen kann und davon will ich auch nicht weg.

Grüße,

Uwe
UGrohne Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 14.03.09 21:03 
Ich hatte im DataGRid beim Binding IsAsync=true gesetzt, damit kam es wohl zu Konflikten bei den Abfragen, weil EF nicht thread safe ist :(