Something to watch for with DatabaseSchemaUpdater
1/30/2012source: cfield.tumblr.com
Local databases on Windows Phone 7.5 are a wonderful thing. They allow you to write beautiful code that takes full advantage of LINQ, and who doesn't like LINQ right?!? (answer: crazy people). But, using databases doesn't come without it's headaches, and a common one is how you update it.
Fortunately several clever people have already come up with a way of updating your database schema that involve using the DatabaseSchemaUpdater. In a nutshell that process involves something like this:
if (dbSchemaUpdater.DatabaseSchemaVersion < 1) {
dbSchemaUpdater.AddColumn<MyTable1>("NewColumn1")
}
if (dbSchemaUpdater.DatabaseSchemaVersion < 2) {
dbSchemaUpdater.AddColumn<MyTable1>("NewColumn2")
}
dbSchemaUpdater.DatabaseSchemaVersion = 2;
dbSchemaUpdater.Execute();
This works really well for most circumstances. However, there is a circumstance where by you can trip up as a developer. Consider that we release our app and it has a DatabaseSchemaVersion of 2. It's great, everyone loves it, so we start work on an update with extra awesome in it.
...Read more
You can also follow us on Twitter @winphonegeek
Comments
New! WindowsPhoneGeek Component Marketplace
Our Top Articles & Free books
- Our FREE e-book: "Windows Phone Toolkit In Depth" 2nd edition
- 400+ Windows Phone Development articles in our Article Index
- 21 WP7 Toolkit in Depth articles covering all controls
- 12 WP7 Coding4Fun Toolkit in Depth articles covering all controls
- Performance Tips when creating WP7 apps
- Creating a WP7 Custom Control in 7 Steps
- WP7 working with VisualStates: How to make a ToggleSwitch from CheckBox
- What makes a WP7 App successful
- Creating theme friendly UI in WP7 using OpacityMask
- Implementing Windows Phone 7 DataTemplateSelector and CustomDataTemplateSelector
Our Top Tips & Samples
- All about WP7 Isolated Storage series
- WP7 Dynamically Generating DataTemplate in code
- 5 tips for a successful WP7 Marketplace submission
- WP7: Navigating to a page in different assembly
- WP7 ContextMenu: answers to popular questions
- WP7 ListBox: answers to popular questions
- WP7 working with Images: Content vs Resource build action
- WP7 Element Binding samples
- WP7 working with XML: reading, filtering and databinding
- Drawing in WP7: #2 Drawing shapes with finger
- WP7 TextBox Light theme problems - the solution
- Changing the WP7 Panorama Background Image dynamically with Animation
