Estoy probando mi primer proyecto con Fluent NHibernate (cualquier sabor NHibernate para el caso). He sido incapaz de conseguir más allá del punto de crear un objeto Session fábrica como estoy corriendo en la siguiente excepción:Fluidez NHibernate falla al crear una fábrica de sesiones con SQLCE
InnerException: NHibernate.HibernateException
Message=The IDbCommand and IDbConnection implementation in the assembly System.Data.SqlServerCe could not be found. Ensure that the assembly System.Data.SqlServerCe is located in the application directory or in the Global Assembly Cache. If the assembly is in the GAC, use <qualifyAssembly/> element in the application configuration file to specify the full name of the assembly.
Source=NHibernate
StackTrace:
at NHibernate.Driver.ReflectionBasedDriver..ctor(String driverAssemblyName, String connectionTypeName, String commandTypeName)
at NHibernate.Driver.SqlServerCeDriver..ctor()
InnerException:
estoy usando los últimos binarios FluentNHibernate. VS 2010, en Windows 7 x64. Establecí el ensamblado System.Data.SqlServerCe en "Copiar local" y cambié la plataforma de destino del proyecto a x86.
La configuración fluidez es:
var config = Fluently.Configure()
.Database(MsSqlCeConfiguration.Standard.ShowSql().ConnectionString(cnxString))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<SyncContract>());
if (!File.Exists(dbPath))
{
var engine = new System.Data.SqlServerCe.SqlCeEngine(cnxString);
engine.CreateDatabase();
config.ExposeConfiguration(c => new SchemaExport(c).Create(false, true));
}
return config;
Nota: engine.CreateDatabase() funciona bien.
¿Alguna ayuda/ideas, por favor?
Por cierto, no necesité dirigir el proyecto a x86. Pude obtener el código para ejecutar correctamente dirigido a "Cualquier CPU" – Sameera
Repasé el mismo problema. "Copiar local" no funcionaba para las pruebas que se ejecutan en TFS. Tuve que agregar todas las libs de corrección utilizando [configuración de prueba] (http://msdn.microsoft.com/en-us/library/ee256991.aspx). – mathieu