If I needed to get NHibernate to support more databases (not included in the list of supported: https://www.hibernate.org/361.html), assuming that database can be accessed using it’s built-in query language,but not SQL (example: http://kx.com/Products/kdb+.php)…
- How will I be able to get NHibernate to work with these databases?
NHibernate is designed to operate with dialects of SQL and not ad hoc query languages. This will be very tricky to accomplish. But to answer your question, you need:
A Driver class (derived from NHibernate’s DriverBase). Here is one I have written in the past (somewhat anonymised):
Possibly (definitely in your case) a Dialect, deriving from NHibernate’s Dialect class, that defines classes to render each particular syntax element in your language (note, though, that this is still SQL-orientated, which is I suspect where you are going to fall down here). An example in my case:
As many non-standard syntax elements (compared to normal SQL) as your language has. Again, an example from my case:
As you can see, in my case (a SQL-based query language with implicit join conditions) this was not too hard. But in your case I suspect you’re going to be up against it. Good luck!