views:

41

answers:

1

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.

+1  A: 

Are there other options: NHibernate for instance.

How to make a decision:

  • choose the tool that fits the job best.
  • when you're talking about a local copy of the database, you could have a look at the MS Sync framework.
  • when multiple tools fit the job, choose the one that is most mature, and for which most documentation exists.
  • are there policies in the company that say that you should always use MS tools or that you can use opensource tools ?
  • are there members in the team that have already some experience with one tool or another ?
Frederik Gheysels