First of all this all seems a little too good to be true so hopefully i will be able to use this feature, i just have a few questions.

My first question is that right now i am developing a system in which users will not always be connected, which will require them to be able to work off their laptops, so i have been working on a windows app that will use sql express, then have a seperate service running that will look after my synchronization, how ever one of our biggest problems here is that our data base is constantly changing which as i'm sure you know is a major pain when you have to write publications and renew all subscriptions everytime, What i am wondering is if there is an easy way that my database changes can automatically appear in the local database cache?  Or will i also have to create a new local cache with every database change?

So basically my question is this, for everychange that is made to the database structure, will this result in recreating the local database cache object?

My next question is will it be available for developers to use the tables in the local database cache in the LINQ to SQL Classes?  Since the two main features i would like to use by switching to 2008 would be built in synchronization and LINQ then i was hoping that it would have the ability to be laid over each other, however when ever i try to do this i am getting errors when i drag and drop from the server explorer.

Anyway Thanks in advance
Jeremy