LINQ can be used with lists, strings, arrays - just about anything that's enumerable. It's possible to use LINQ directly with ADO.NET objects to manipulate them in memory. As such, basic LINQ support only requires a suitable version of the .NET framework (e.g. .NET 3.5 and higher).
The Entity Framework (EF) maps managed objects in memory to relational datastores like SQL Server and VistaDB. It lets you perform database operations by writing code within .NET that is translated to the appropriate database commands at runtime by the Entity Framework provider. VistaDB includes an Entity Framework provider for EF 4 and higher. Using this, you can not only have .NET automatically generate basic data access code for you but also handle fairly elaborate query scenarios that can be efficiently passed down to VistaDB or another database.
The ADO.NET Entity Framework Overview - Microsoft
Wikipedia page on Entity Framework