I\'ve seen some discussion about L2S vs EF4 on Stack Overflow back in April, when VS2010 was launched, namely:
Dump Linq-To-Sql now that Entity Framework 4.0 has been re
I'd go with Entity Framework in almost any case. Biggest downside is there is little way to tweak/improve your model once you go live without blowing the thing up and regenerating. That and EF can do anything you could do with l2s and more while having better tooling and such.
In my opinion the future of LINQ To SQL is a bit unclear. I would personally go with Entity Framework as it provides the most flexibility and as it seems to be where Microsoft is directing the focus of their future development. I have been using Entity Framework and while it does have some quirks, I've been happy with it for the most part.
Nhibernate. Or BLToolkit for special cases. Linq2Sql and EntityFraemwork are still generations behind.
It depends... :)
If you don't need any of the extra features added by EF, L2S is generally:
EF adds more features such as support for other RDBMSes and more complex mapping than plain 1:1, support for several different types of entity inheritance etc. That comes with a cost:
In short:
The company I work for is a $2.5B to $3.0B solar manufacturing company. We're using L2S for all of our next generation manufacturing applications. It's not without its warts, but we've found it to be fast (contrary to what many think), nimble and very easy to work with. We have no regrets. It does everything we need it to do.