The MSDN page for the [DataContext](http://msdn.microsoft.com/en-us/library/bb350721.aspx) class says:

> 
> Represents the main entry point for the LINQ to SQL framework. 
> 
> 
> 

Yet it looks like the constructors will take any ADO.NET `IDBConnection`. Am I right in thinking that a DataContext can wrap any ADO.NET connection? Or are there special things that need to be considered when using a connection to a data source other then SQL Server?

The remarks section of the MSDN article on the DataContext class say:

> 
> The DataContext is the source of all
>  entities mapped over a database
>  connection. It tracks changes that you
>  made to all retrieved entities and
>  maintains an "identity cache" that
>  guarantees that entities retrieved
>  more than one time are represented by
>  using the same object instance.
> 
> 
> 

For example could I use a DataContext to read and update a SQLLite database by creating the DataContext with the [System.Data.SQLite](http://sqlite.phxsoftware.com/) provider?

It's just a little confusing because it seems like everything I see written about Linq always also mentions SQL Server, but I'm never sure if that's just on example or if SQL Server is the only database that will work.