Para o acesso ao Microsoft Access 2010 utilizando o nhibernate utiliza-se o driver NHibernate.JetDriver.
O código fonte deste driver está disponível em https://nhcontrib.svn.sourceforge.net/svnroot/nhcontrib/trunk/src/NHibernate.JetDriver e pode ser baixado utilizando o Tortoise SVN.
Para criar a DLL NHibernate.JetDriver é necessário compilar o projeto. Após compilado, a DLL poderá ser encontrada em ...\src\NHibernate.JetDriver\bin\Debug
Antes de compilar a DLL, alguns fatos devem ser levados em conta.
1. O NHibernate.JetDriver.dll utiliza funcionalidades de NHibernate.dll. Para que não haja conflito de versões, é importante que antes de compilar o driver, referencie-se a NHibernate.dll da mesma versão que é utilizada no projeto que você está desenvolvendo. A instalação obteve sucesso utilizando-se a versão 2.1.2.4000 do NHibernate. Na data dos testes, não foi possível compilar o driver utilizando a versão 3.0.xxx do NHibernate pois o NHibernate.JetDriver utilizava funcionalidade não mais existente nesta versão do NHibernate.
2. Após compilado o projeto NHibernate.JetDriver, basta referenciar a DLL NHibernate.JetDriver.dll em seu projeto. Referenciar também:
a. Antlr3.Runtime.dll
b. Iesi.Collections.dll
c. Log4net.dll
d. NHibernate.dll
3. Estas DLLs estão disponíveis na versão 2.1.2.4000 do hibernate.
FAQ
1. “Invalid index 0 for this OleDbParameterCollection with Count=0.”
Suspeita-se que este problema aconteça por causa de alguma versão velha do driver JetDriver. Para resolvê-lo, recomenda-se recompilar o driver seguindo os passos indicados em Obtendo o driver de conexão do NHibernate ao Access 2010.
Referencias Utilizadas:
http://dixond.blogspot.com/2010/08/nhibernate-and-ms-access-its-simple-but.html
Versão 2.1.2 do NHibernate:
http://ufpr.dl.sourceforge.net/project/nhibernate/NHibernate/2.1.2GA/NHibernate-2.1.2.GA-bin.zip