Allen,
ik ben mij aan het verdiepen in het hele WPF/Linq gebeuren en had hiervoor op internet reeds wat gezocht en een 'tutorial' ivm master-detail gevolgd.
Doel van de test-applicatie:
Bij het klikken op een 'region' wordt er automatisch in een volgende lijst het 'divisions' van deze regio geladen. Bij het klikken op een division zal er in een andere lijst de 'city's behorend tot deze division geladen worden.
Dit alles komt uit een database met 3 tabellen: Region, Division, City (met bijhorende relatie's e.d. natuurlijk).
De applicatie op zich werkt wel, maar snap niet goed hoe het kan dat de applicatie op basis van 1 linq-query de bijhorende divisions/city's kan "weten"?
Zal dit geen performance issue zijn wanneer je met grote databases werkt? Mijn inziens wordt bij het uitvoeren van de linq-query alle data uit alle tabellen opgehaald? of zie ik dit verkeerd?
Volgende xaml code is een vb. van de division & city listbox.... Enige uitleg ook hier gevraagd over de '{Binding Path=xxxx} regel'tjes..... --> op basis hiervan ga ik ervan uit dat linq inderdaad ALLE data uit de DB opvraagt?
en bijhorende C# code:
*Ik hoop dat dit soort vragen ook thuis horen op een forum, ook al gaat het dan niet om probleem-vragen...*
ik ben mij aan het verdiepen in het hele WPF/Linq gebeuren en had hiervoor op internet reeds wat gezocht en een 'tutorial' ivm master-detail gevolgd.
Doel van de test-applicatie:
Bij het klikken op een 'region' wordt er automatisch in een volgende lijst het 'divisions' van deze regio geladen. Bij het klikken op een division zal er in een andere lijst de 'city's behorend tot deze division geladen worden.
Dit alles komt uit een database met 3 tabellen: Region, Division, City (met bijhorende relatie's e.d. natuurlijk).
De applicatie op zich werkt wel, maar snap niet goed hoe het kan dat de applicatie op basis van 1 linq-query de bijhorende divisions/city's kan "weten"?
Zal dit geen performance issue zijn wanneer je met grote databases werkt? Mijn inziens wordt bij het uitvoeren van de linq-query alle data uit alle tabellen opgehaald? of zie ik dit verkeerd?
Volgende xaml code is een vb. van de division & city listbox.... Enige uitleg ook hier gevraagd over de '{Binding Path=xxxx} regel'tjes..... --> op basis hiervan ga ik ervan uit dat linq inderdaad ALLE data uit de DB opvraagt?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <Grid x:Name="gridMasterDetail"> <Grid.ColumnDefinitions> <ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/> </Grid.ColumnDefinitions> <DockPanel Grid.Column="0"> <Label DockPanel.Dock="Top">Region</Label> <ListBox ItemsSource="{Binding}" IsSynchronizedWithCurrentItem="True" DisplayMemberPath="Name"/> </DockPanel> <DockPanel Grid.Column="1"> <Label DockPanel.Dock="Top">Division</Label> <ListBox ItemsSource="{Binding Path=Divisions}" IsSynchronizedWithCurrentItem="True" DisplayMemberPath="Name"/> </DockPanel> <DockPanel Grid.Column="2"> <Label DockPanel.Dock="Top">City</Label> <ListBox ItemsSource="{Binding Path=Divisions/Cities}" IsSynchronizedWithCurrentItem="True" DisplayMemberPath="Name"/> </DockPanel> </Grid> |
en bijhorende C# code:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
| public partial class Window1 : Window { AddressesDataContext _context = new AddressesDataContext(); public Window1() { InitializeComponent(); gridMasterDetail.DataContext = from c in _context.Regions select c; } } |
*Ik hoop dat dit soort vragen ook thuis horen op een forum, ook al gaat het dan niet om probleem-vragen...*
[ Voor 5% gewijzigd door dj_vibri op 12-06-2009 11:44 . Reden: meer xaml code ivm grid-name ]
Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.