I am presently developing an application that will make use of a Linq to SQL (or even EF) data access layer. Finances a database which holds all of our Contacts information, but there's presently no API for this. I have to communicate with this DB in the new application to retrieve information.

I'm able to think about two ways I possibly could do that - 1) Create a suite of web services from the contacts database 2) Write a Linq to SQL (or EF) DAL and API from the contacts database

I'll most likely be developing several further applications later on that will likewise need accessibility Contacts data.

Which may generally function as the prefered method? Do you know the points I have to consider? Shall We Be Held even asking a smart question, or shall we be held missing something apparent?

You'd develop some web services if you will have to retrieve information in the database over the internet, or across another boundary just like a department, in which the contacts database isn't directly accessible.

Otherwise, I'd go the easy route and wrap a DAL around it. Developing web services is much more costly at a number of levels, so think carefully your need before you accomplish that.