Я использовал дозвуковой с моно. Я использовал его на mono 2.0, на котором SubStage (GUI-интерфейс для subsonic) не работает, но вы можете сгенерировать код с помощью параметра командной строки. Это работает очень хорошо с моно. Я не нахожу никаких проблем при использовании сгенерированного SubSonic кода в моно.
У меня нет NHibernate на моно. NHibernate очень сложный, я пытался научиться этому, но дать. В то время как SubSonic очень прост, мне нужно менее 1 часа, чтобы выучить SubSonic.
Если вы заинтересованы в Linq, я предлагаю вам попробовать DBLinq , команда DBLinq работает с командой Mono над реализацией Linq to Sql в Mono.