I’ve got a client/server application written in C# using WPF. The database on the server is getting quite large and the application has to load much of it’s data (let’s not debate that part of it…just trust me on that and take it for what it is). I could instead pull the data as needed on demand, however that creates performance issues due to the constant querying back and forth with the remote db.
What would be great though, is if on application start I could pull down the data I need to the client and store it in a locally running database. The application then queries the local database, rather than the remote server database. In this way, the application keeps a low memory footprint, but still has quick access to the data since it’s local.
Is it possible to use SQL Server Express or LocalDB in this manner? i.e. letting them run on the client machines, and syncing with the server database on application start? If so, would this be a recommended or not-recommended use of them?
Thanks
Check out MS Sync Framework if you haven’t already: http://msdn.microsoft.com/en-us/sync/bb736753.aspx There’s a steep learning curve but it is designed for these kinds of scenarios.
The app can pull down new/updated data to the local database on startup or whenever required. This is helpful for performance or when the network connection may be unstable.