我正在浏览博客和 reactivex.net 书籍,但很难了解如何从 NHibernate 查询创建可观察流。在 RxJava 中,我会使用 Observable.fromCallable - 或者这甚至不是最好的方法。我知道我需要从查询结果中打开一个无状态流,但是关于如何做到这一点的语法却让我难以理解。
从 NHibernate 查询创建 Observable 流的语法是什么?另外,如果不同,如何发出坚持?
谢谢!
我正在浏览博客和 reactivex.net 书籍,但很难了解如何从 NHibernate 查询创建可观察流。在 RxJava 中,我会使用 Observable.fromCallable - 或者这甚至不是最好的方法。我知道我需要从查询结果中打开一个无状态流,但是关于如何做到这一点的语法却让我难以理解。
从 NHibernate 查询创建 Observable 流的语法是什么?另外,如果不同,如何发出坚持?
谢谢!
由于 Rx 的存在是为了简化异步编程,我假设您的 NHibernate(我从未使用过它)查询是异步的并返回一个Task
. Rx 可以很容易地Task
使用ToObservable()
.
所以它可能看起来像这样:
var observable =
session
.CreateCriteria<Product>()
.ListAsync<Product>()
.ToObservable();
当查询完成时,observable 将发出查询结果,如果出现问题,则抛出异常。
你可以在这里阅读更多ToObservable()