I have built a WP7.1 application that uses a local database. I used sqlmetal to generate the data context as per this article. http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2011/05/24/windows-phone-mango-what-s-new-local-database-part-1-of-8.aspx
This works as expected using this in the ViewModel.
context = new BirdsnBflysDC(“DataSource=’isostore:BirdsnBflys.sdf'”);`
I am now attempting to “share” the Model and ViewModel code with a WPF application. Initially I added the appropriate files as a link to the WPF project. Creating an instance of the context didn’t work so as a test I have added just the data context code to a WPF project and attempt to create an instance of the context in the Loaded event handler as follows.
BirdsnBflysDC context = new BirdsnBflysDC(“DataSource=’C:\BirdsnBflys.sdf'”);
DataContext = context;
The code actually has the complete path to the database. When I step through this in the debugger the context initialization in the data context quits running as if there was an exception, the second line of code above is never reached and the WPF window is shown as if things completed correctly.
I’ve tried several variation in the DataSource string including “|DataDirectory|\\BirdsnBflys.sdf” all with the same result.
Any suggestions as where to go with this? How to figure out what isn’t working correctly?
Thanks,
Dave
The problem is that what is expected in the connection string is different for the two environments.
WP7 works with this.
WPF works with this.
If you give WPF a file name that isn’t there you get no error information, the instantiation of the data context fails quietly and any additional code does not get executed.
Dave