替换测试的映射

时间:2011-11-17 14:32:54

标签: c# nhibernate

我将所有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()之前替换一个实体映射。

1 个答案:

答案 0 :(得分:1)

手动循环遍历程序集的资源,并添加除该程序之外的所有资源。

如果您只想更改某些细节,可以获取该类型的类映射并更改值。

var mapping = config.GetMapping(typeof(myclass)) //更改映射的详细信息

相关问题