nhibernate - Fluent NHibernate - SessionSource 和 PersistenceSpecification

标签 nhibernate fluent-nhibernate

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

2) PersistenceSpecification 类有什么用?我知道您可以将它用于持久性测试 ( http://wiki.fluentnhibernate.org/Persistence_specification_testing ),但我已经看到它出现在其他场景中,但我不确定它的用途。

谢谢!

最佳答案

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

2)正如你所说,它用于持久性规范测试,如wiki中所述......你还在哪里看到它?

关于nhibernate - Fluent NHibernate - SessionSource 和 PersistenceSpecification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1443843/

相关文章:

c# - NHibernate 是否支持引用非主键的唯一列?

.net - 是一对一还是组件?休眠映射

mysql - 使用 NHibernate 执行 MySql 全文搜索

c# - ServiceStack/FluentNHibernate/MySQL - 两个并发请求使用同一连接

fluent-nhibernate - 流利的 NHibernate AutoMap CultureInfo

nhibernate - ToRowCountQuery 似乎忽略分组

sqlite - NHibernate 中与数据库无关的随机顺序

c# - 如何使用 Moq 构建此表达式而不会出现方法组错误?

nhibernate - Fluent NHibernate 自动映射双向关系

带有 byte[] 参数的 NHibernate ISQLQuery 抛出错误