替换测试的映射
本文关键字:映射 测试 替换 | 更新日期: 2023-09-27 18:14:53
我有我所有的NHibernate在一个程序集和该程序集被加载到我的NHibernate会话为我的应用程序,这工作得很好。对于我的测试项目,虽然我需要用另一个实体映射文件替换我的一个实体映射文件。我该怎么做呢?我尝试加载程序集的映射,然后添加我想要替换的映射,但这给了我一个错误。
下面是我的映射代码: Configuration _configuration = new Configuration()
.SetProperty(Environment.ReleaseConnections, "on_close")
.SetProperty(Environment.Dialect, typeof (SQLiteDialect).AssemblyQualifiedName)
.SetProperty(Environment.ConnectionDriver, typeof (SQLite20Driver).AssemblyQualifiedName)
.SetProperty(Environment.ConnectionString, "data source=:memory:")
.SetProperty(Environment.ProxyFactoryFactoryClass,
"NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle")
.AddAssembly(assemblyContainingMapping);
_sessionFactory = _configuration.BuildSessionFactory();
我希望能够在调用BuildSessionFactory()之前替换一个实体映射。
手动遍历程序集的资源并添加除该资源外的所有资源。
如果你只是想改变一些细节,你可以得到该类型的类映射并改变值。
var mapping = config.GetMapping(typeof(myclass))//更改映射的详细信息