I’d like to start an application that makes heavy use of a database, and is supposed to run on Windows under .NET as well as Mac/Linux under Mono.
Having done some research, I’ve realised that neither LINQ-to-SQL nor LINQ-to-Entities are production-ready in Mono at the moment (here and here). According to the former link, LINQ-to-SQL may at least make it into Mono 2.6, due some time in Nov 2009.
Mono also implements ADO.NET 2.0, as far as I can tell, although the test results are not looking great (assuming the page is up-to-date). Also, using raw ADO.NET is going to be very painful compared to LINQ.
Which database access API would you guys recommend in this situation?
For the record, we settled on IQToolkit together with a custom tool to generate classes from a database. The result is more low-level than ActiveRecord-style approaches; essentially nothing more than adding strong typing and LINQ support on top of SQL.