使用NRules,我希望能够创建一个会话,插入事实,让它激活并完成,并且当会话在内存中仍然存活(静态变量)时,我想调用事实的更新。
_session.Update(command.Fact)
这会触发规则并正确地完成所有事情。我现在要发生的是添加能够更新曾被触发一次的SAME FACT的能力,但是现在有一个新的值...意思是,我想更新这个事实,让它再次运行条件
在更新我的事实后执行{{1}}会给我一条错误消息:“即使我仍然可以看到所有事实仍然在会话中,但”更新的事实并不存在“。
欢迎任何想法。谢谢。
答案 0 :(得分:0)
如果有其他人遇到此问题,我想出了如何做到这一点。保留ISession(以上述方式),使用_session.Query<Facts>()
来检查您已有的内容。操纵您的代码以对此对象进行更新。之后打电话
_session.TryUpdate(Fact);
_session.Fire();
它有效:)