То, что Вы хотите, является LINQ поставщику ODBC или LINQ поставщику JET/OLEDB.
Из поля, MS не делает то. Может быть третья сторона, которая делает.
LINQ к SQL только работает на базы данных SQL Server. То, в чем Вы нуждаетесь, является Microsoft Entity Framework. Это делает объектно-ориентированный доступ к Вашему mdb. От этого можно выполнить запросы LINQ.
http://msdn.microsoft.com/en-us/library/aa697427 (по сравнению с 80) .aspx
На самом деле я недавно (сегодня) обнаружил что вы можете получить доступ к базе данных Access с помощью LinqToSql. Он должен быть в формате 2002 года или новее, вы не сможете перетаскивать таблицы в свой текст данных, поэтому либо вручную создайте объекты в своем dbml, либо вы можете использовать SQL Server Migration for Access, чтобы переместить его на сервер sql и затем перетащите все, что хотите. Если вы действительно хотите создать контекст, передайте ему OleDbConnection. Используйте стандартную строку подключения Jet.OLEDB.4.0 в OleDbConnection, и все готово. Однако не уверен в ограничениях, которые могут возникнуть. Я просто сделал быстрый образец и без проблем выполнил OrderBy.
Вы можете использовать DataSet. Существуют расширения linq, которые позволят вам запрашивать данные с помощью всего того LINQ, к которому мы привыкли :)
eICATDataSet.ICSWSbuDataTable tbl = new eICATDataSet.ICSWSbuDataTable();
ICSWSbuTableAdapter ta = new ICSWSbuTableAdapter();
ta.Fill(tbl);
var res = tbl.Select(x => x.ProcedureDate.Year == 2010);