I am trying my best to understand what is the difference between "ADO.NET - Entity Data Model" and "LINQ To SQL", but I cannot figure it out.
Can someone please explain the differences between the two and the advantages and disadvantages?
Linq to SQL was actually a proof of concept for Linq. See The Origin of LINQ to SQL. Microsoft is putting its weight behind Entity Framework, although I believe it's not quite ready for prime time.
Anyway, this StackOverflow post provides some additional detail about the differences.
Linq to SQL is said to be dead (I don't think so though - it was way to well received by the development community). Entity Framework is its successor, if you want. It can access more data sources (more database types, and also different kinds of sources such as reporting services, business intelligence etc.). It's much more complex than Linq to SQL, and has a steeper learning curve, for example EF allows one class-multiple tables mapping. Other things are not possible with EF, such as specifying deferred loading - that's Linq to SQL only.