We are working on a large C# 3.5 project that requires a centralized database. The database itself is small both in number of tables and in the size of those tables. Typically, the user will pull information from the database and work on a local copy. My assumption is that the local copy will be in XML but this is not a requirement. In some cases, users will need to upload their local copies and update the central database, but not every user will have this privileged behavior.
I am confused by the myriad choices Microsoft offers in the .NET environment. How do we make the technical decision to use LINQ or the Entity Framework? Are there better choices? We have a clean slate in the sense that we have no requirements to be backwards compatible with any existing database technology. The database itself can be on SQLSERVER, Oracle or any other platform we choose.
The application has a WPF front-end that we would like to migrate to SL within 2 years, but this is not cast in stone.
Thanks for your direction and opinion.