在方法中直接使用以下代码时出现此错误:
var fooRepository = ServiceLocator.Current.GetInstance<FooRepository>();
var fooObj = fooRepository.GetFooObj(someText); //get Error
StackTrace包含:
at uNhAddIns.SessionEasier.Conversations.ThreadLocalConversationalSessionContext.CurrentSession() 在NHibernate.Impl.SessionFactoryImpl.GetCurrentSession()
错误讯息:
目前无法进行对话。创建对话并将其绑定到容器
一般来说如何Create a conversation and bind it to the container
?
答案 0 :(得分:0)
我不知道为什么会发现,如果我在这样的模型中声明存储库
[PersistenceConversational(MethodsIncludeMode = MethodsIncludeMode.Implicit)]
public class FooModel : IFooModel
并声明一个方法,在其中使用repository mehod并返回数据:
class FooModel
{
public FooObj ModelGetFooObj(string text)
{
return fooRepository.GetFooObj(text);
}
}
然后新增FooModel
并使用fooModel.ModelGetFooObj(text)
获取数据,效果正常。