Before I go on to explain why I think that, I should probably mention that this isn't just a Microsoft thing, as IBM also mentions similar ideas as part of its (broader and sometimes even worse) view of "Information as a Service"
So why is exposing the database through a web service (RESTful or otherwise) wrong? Let me count the ways:
It circumvents the whole idea about "Services". There's no business logic.
It makes for CRUD resources/services.
It is exposing internal database structure or data rather than a thoughtout contract.
It encourages bypassing real services and going straight to their data.
It creates a blob service (the data source).
It encourages minuscule demi-serices (the multiple "interfaces" of said blob) that disregard few of the fallacies of distributed computing .
It is just client-server in sheep's clothing.
When it comes for ADO.NET data services you can add a few other problems like
it isn't really RESTful. You can also "enhance" the services with operations like example 18 in "Using ADO.NET data services" : http://host/vdir/northwind.svc/CustomersByCity?city=London (though it does support caching and hypermedia ). Not being only RESTful is not a bad thing in itself. It is the inconsistency of the API when the reson de etre of the service is exposing data
Also (on not being RESTful) it doesn't really externalize a state machine -- it externalizes a relational model
InformationWeek Must Reads Oct. 21, 2014InformationWeek's new Must Reads is a compendium of our best recent coverage of digital strategy. Learn why you should learn to embrace DevOps, how to avoid roadblocks for digital projects, what the five steps to API management are, and more.