这是我的单元测试(这是毫无意义的,但证明了一点
Config entity = new Config("key", "value");
Session.SaveOrUpdate(entity);
Config config = Session.Query<Config>().SingleOrDefault(c => c.Key == "key");
Assert.IsNotNull(config);
它失败了...但我认为不应该(注意,如果我冲洗它,它不会失败,但这不是我想要的行为)
如果我用这个
替换查询行Config config = Session.Get<Config>("key");
......它通过了
它没有冲洗(我甚至将FlushMode设置为永远不会确定)。为什么一个人会成功,另一个人不会?这似乎不对 - 我非常希望linq成功
答案 0 :(得分:4)
这篇文章:
似乎建议Query将绕过会话的缓存进入数据库,而Get将首先尝试会话。