流畅的NHibernate - SessionSource和PersistenceSpecification

时间:2009-09-18 11:00:28

标签: nhibernate fluent-nhibernate

1)任何人都可以清楚地解释SessionSource的用途,为什么我要使用它而不仅仅是Fluently.Configure().... BuildSessionFactory()?

2)什么是PersistenceSpecification类?我知道你可以用它进行持久性测试(http://wiki.fluentnhibernate.org/Persistence_specification_testing),但我已经看到它在其他场景中出现了,但我不确定是为了什么。

谢谢!

取值

1 个答案:

答案 0 :(得分:8)

1)SessionSource只不过是一个ISession工厂。一个特别有用的用法是在SQLite内存测试中。请参阅,SQLite具有内存模式,其中数据库永远不会写入文件。此模式对于持久化类的单元测试非常有用,因为它非常快。问题是,这个数据库只持有一个连接。连接关闭的那一刻,数据库就消失了。因此,SingleConnectionSessionSourceForSQLiteInMemoryTesting用于确保始终使用相同的连接。

2)就像你说的那样,它用于持久性规范测试,如wiki中所解释的那样......你还能看到它吗?