I'm just looking for a good way to compartmentalize and internalize these technologies.
Ok:
ADO.NET - It is the classic way of accessing a database in .NET This has been around since 1.1
LINQ - It is a language feature that allows a dev to write sql-like syntax to query collections of data inside of .NET
Entity-Framework - This is an Object Relational Mapper that allows .NET to create object models or database schemas from either the database(sql schema to objects) or a pre-existing object model(objects to sql schema).
The way these play together is that ADO.NET still powers the data access underneath Entity-Framework and LINQ gives you the ability to query the objects that the Entity-Framework generates as a result of the mappings in your model.