2017-08-28 31 views
0

当一个方法是直接使用下面的代码,我得到这个错误:没有可用的当前对话。创建一个会话并将其绑定到容器

var fooRepository = ServiceLocator.Current.GetInstance<FooRepository>(); 
var fooObj = fooRepository.GetFooObj(someText); //get Error 

而且堆栈跟踪包含:

在uNhAddIns.SessionEasier.Conversations.ThreadLocalConversationalSessionContext .CurrentSession() 在NHibernate.Impl.SessionFactoryImpl.GetCurrentSession()

错误消息:

没有当前对话可用。创建会话并将其绑定到容器上

一般如何Create a conversation and bind it to the container

回答

0

我不知道为什么,但发现,如果我喜欢这个

[PersistenceConversational(MethodsIncludeMode = MethodsIncludeMode.Implicit)] 
public class FooModel : IFooModel 

模型声明库和声明的方法,它使用存储库mehod和返回数据:

class FooModel 
{ 
    public FooObj ModelGetFooObj(string text) 
    { 
     return fooRepository.GetFooObj(text); 
    } 
} 

然后新建一个FooModel并使用fooModel.ModelGetFooObj(text)来获取数据,工作正常。

相关问题