Supported Databases


SubSonic 2.x

Subsonic 2.2 Currently supports 5 main database engines:

We develop everything using SQL Server 2005, so you might fight an optimal experience using this with SQL.

SubSonic 3.0

Currently supported

SubSonic supports and has templates for:

What about other databases?

Our goal with SubSonic 3.0 was to unhinge the core from any dependency on a specific engine. We do this by using System.Data.Common - which is part of Microsoft's DataFactory stuff. Most major databases have a provider which works with System.Data.Common - including:

SubSonic will execute queries against these databases, however we're still working on creating a meaningful set of templates for each.

It's important to understand that SubSonic 3.0 talks to the database when creating your Data Access stuff using our T4 Templates. These templates need to query the schema of your database and unfortunately each provider has a different way of returning results.

For instance - if you use Connection.GetSchema(), SQL Server will return a completely different result set than MySQL. This is supposed to be a standard - but there are obviously deviations with each provider.

Our SQL Server templates query INFORMATION_SCHEMA - an ANSI-standard set of system views that each provider should offer for each database. However MySQL doesn't implement them in the same way SQL Server does - so we can't provide a "single template fits all" scenario.

It's our hope that our template library will grow - so if you take the time to create a nice set of templates - please add to our wiki!