Probleem
Voor mijn stage moet ik een manier vinden om data tussen een client applicatie en de database te krijgen. Deze database hoeft echter niet binnen het netwerk te draaien. Wat men niet wil is de database service op het internet zetten.
Verder moet er een manier worden gevonden om te zorgen dat de DataGrid niet direct alle rows opvraagt, omdat dit in sommige gevallen + 1 milj records zijn.
Wat mag ik gebruiken
Alles, liefst wel gebaseerd op WPF, maar daar kan elke toolset (Telerik / devExpress) voor gebruikt worden.
devExpress heeft wel een server mode, waarbij men zegt data in delen op te halen (echter heb ik nog geen manier gevonden om te kijken of dit waar is). Verder krijg ik LinqInstantFeedback niet werkend, waardoor dus elke keer als hij data ophaalt, de complete GUI freezed.
Telerik heeft eenzelfde idee met een QueryableCollectionView:
http://www.telerik.com/co...rmance-on-large-data.aspx
Wat heb ik geprobeerd
Vandaar dat ik dacht aan de WCF Data service (OData) (ADO.NET Entity Data Model), echter, in het verleden werkte dit niet, nu krijg ik het wel aan de gang, alleen niet de InstantFeedback.
Verder zover ik zie bied mijn service XML files aan waarin de volledige dataset staat (mits ik niet limit met: SetEntitySetPageSize("*", 25)) echter als ik limit laat de dataset binnen b.v. devExpress alleen de eerste pagina zien.
Edit: http://devexpress.com/Products/NET/ORM/ Bijna XPO vergeten, alleen kan ik hier weinig informatie over vinden, hoe dit in zijn werk gaat. Echter vond ik hier een post: http://community.devexpre...rchive/2006/05/05/85.aspx waarbij de devver zelf niet positief over zijn opzet was.
Wat ik dus zoek
Een oplossing om data van een database over het internet te kunnen versturen, waarbij data operations grotendeels op de server worden uitgevoerd, waardoor men alleen een subset van de data hoeft te sturen.
Ik wil WPF gebruiken voor zowel een internet app (XBAP) als een normale client, XBAP het liefst draaiend in partially trust mode, waardoor de client geen certificate nodig heeft om het te kunnen runnen, waardoor ik dus liever een OData a like oplossing prefereer.
Little sidenote
De modellen gecreeerd door WCF, kunnen zover ik zag niet worden aangepast. Met ASP.NET gebruikte ik voorheen ModelValidation, dmv reflection op models, iemand enig idee hoe dit mooi op te lossen als ik toch mn queries op de server wil laten runnen. DataGrids zelf dan niet aanpasbaar maken? En vanaf de verkregen modellen MVVM gebruiken om verder te gaan?
Voor mijn stage moet ik een manier vinden om data tussen een client applicatie en de database te krijgen. Deze database hoeft echter niet binnen het netwerk te draaien. Wat men niet wil is de database service op het internet zetten.
Verder moet er een manier worden gevonden om te zorgen dat de DataGrid niet direct alle rows opvraagt, omdat dit in sommige gevallen + 1 milj records zijn.
Wat mag ik gebruiken
Alles, liefst wel gebaseerd op WPF, maar daar kan elke toolset (Telerik / devExpress) voor gebruikt worden.
devExpress heeft wel een server mode, waarbij men zegt data in delen op te halen (echter heb ik nog geen manier gevonden om te kijken of dit waar is). Verder krijg ik LinqInstantFeedback niet werkend, waardoor dus elke keer als hij data ophaalt, de complete GUI freezed.
Telerik heeft eenzelfde idee met een QueryableCollectionView:
http://www.telerik.com/co...rmance-on-large-data.aspx
Wat heb ik geprobeerd
Vandaar dat ik dacht aan de WCF Data service (OData) (ADO.NET Entity Data Model), echter, in het verleden werkte dit niet, nu krijg ik het wel aan de gang, alleen niet de InstantFeedback.
Verder zover ik zie bied mijn service XML files aan waarin de volledige dataset staat (mits ik niet limit met: SetEntitySetPageSize("*", 25)) echter als ik limit laat de dataset binnen b.v. devExpress alleen de eerste pagina zien.
Edit: http://devexpress.com/Products/NET/ORM/ Bijna XPO vergeten, alleen kan ik hier weinig informatie over vinden, hoe dit in zijn werk gaat. Echter vond ik hier een post: http://community.devexpre...rchive/2006/05/05/85.aspx waarbij de devver zelf niet positief over zijn opzet was.
Wat ik dus zoek
Een oplossing om data van een database over het internet te kunnen versturen, waarbij data operations grotendeels op de server worden uitgevoerd, waardoor men alleen een subset van de data hoeft te sturen.
Ik wil WPF gebruiken voor zowel een internet app (XBAP) als een normale client, XBAP het liefst draaiend in partially trust mode, waardoor de client geen certificate nodig heeft om het te kunnen runnen, waardoor ik dus liever een OData a like oplossing prefereer.
Little sidenote
De modellen gecreeerd door WCF, kunnen zover ik zag niet worden aangepast. Met ASP.NET gebruikte ik voorheen ModelValidation, dmv reflection op models, iemand enig idee hoe dit mooi op te lossen als ik toch mn queries op de server wil laten runnen. DataGrids zelf dan niet aanpasbaar maken? En vanaf de verkregen modellen MVVM gebruiken om verder te gaan?
[ Voor 13% gewijzigd door XiniX88 op 09-02-2011 09:18 ]