My experience in the Microsoft ecosystem:
I used Linq2Sql for several projects, and I ran into the "Layering" problem that azamsharp mentions.
Not that it helps much if you are dead when sending POCO back to your logic or user interface level, but implementing a repository template helps a little with this nasty stratification and separation of problems.
Good basic Impl repository
For anything that uses complex semantics, such as voting or statistics (basically any domain object that needs to be displayed or managed differently than it is presented in the database), the ADO.Net Entity Framework gives you some advantages. It can simplify your business logic / data access level by incorporating sophisticated data retrieval.
Entity Framework ADO.Net Overview
Hope this helps!
source share