如何将NHibernate与Rx.NET一起使用?

如何将NHibernate与Rx.NET一起使用?,nhibernate,rx.net,Nhibernate,Rx.net,我正在浏览博客和reactivex.net书籍,但很难看到如何从NHibernate查询创建可观察的流。在RxJava中,我会使用Observable.fromCallable——或者这甚至不是最好的方法。我知道我需要从查询结果中打开一个无状态流,但如何打开的语法让我摸不着头脑 从NHibernate查询创建可观察流的语法是什么?另外,如果不同,如何发布持久化 谢谢 由于Rx的存在是为了简化异步编程,所以我假设您的NHibernate(我从未使用过)查询是异步的,并返回一个任务。Rx使用ToOb

我正在浏览博客和reactivex.net书籍,但很难看到如何从NHibernate查询创建可观察的流。在RxJava中,我会使用Observable.fromCallable——或者这甚至不是最好的方法。我知道我需要从查询结果中打开一个无状态流,但如何打开的语法让我摸不着头脑

从NHibernate查询创建可观察流的语法是什么?另外,如果不同,如何发布持久化


谢谢

由于Rx的存在是为了简化异步编程,所以我假设您的NHibernate(我从未使用过)查询是异步的,并返回一个
任务
。Rx使用
ToObservable()
任务转化为可观察任务非常容易

所以它可能看起来像这样:

 var observable = 
     session
         .CreateCriteria<Product>()
         .ListAsync<Product>()
         .ToObservable();
var可观测=
一场
.CreateCriteria()
.ListAsync()
.ToObservable();
当查询完成时,observable将发出查询结果,如果出现问题,则抛出异常

您可以阅读更多关于
ToObservable()