I don't know how many people I've talked to about LINQ concerned that it requires direct table access. Ok people, repeat after me:
LINQ is NOT about working with databases.
LINQ is an abstraction layer for working with data which allows for set based operations, projections, filters, etc on anything that can be enumerated over. It just happens to have providers for working with relational data (LINQ to SQL, LINQ to Datasets, LINQ to Entities).
Oh, BTW. Each of these providers support using Stored Procedures in addition to direct table acces in case you are interested.