I'm a little bit confused about these two terms "Linq to SQL" and "Entity Framework". I have the general idea that both of them somehow allow you to refer to database tables as .net objects or something of the sort, but please explain to me the difference between these two terms.
closed as off topic by Mark Trapp Dec 6 '11 at 20:16
Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.
This subject has already been covered several times, you may be interested in reading:
They are similar in that they both are ORM-based but EF is more "enterprisey" and feature-complete than Linq. EF is more comparable to NHibernate as for the available features and has matured with the release of .NET 4.0. Also, one of the most important things to keep in mind is that Linq will lead you into trouble if your DBMS is not part of the SQL Server family (be it "Express" or "Compact").
Edit: as @jkohlhepp has stated in the comment below, Linq to SQL is in maintenance mode (not Linq! thanks to Randy), so no more new features only bug corrections will be done. As such, it really is recommended to start new projects with EF.