很长一段时间以来,这段代码一直很适合我:
session.Query<Application>()
.Include(x => x.CustomVariableGroupIds)
.Where(app => app.Id == id).FirstOrDefault())
但是,我刚刚升级了我的RavenDB程序集,现在我收到了这个错误:
仅阻止尝试按ID查询,您应该使用call session.Load( “应用/ 4”);代替 session.Query()。Where(x =&gt; x.Id ==“applications / 4”);
您可以通过指定关闭此错误 documentStore.Conventions.AllowQueriesOnId = true;,但事实并非如此 仅出于向后兼容性原因推荐和提供。
好的,我把它改成了这个:
session.Load<Application>(id)
.Include(x => x.CustomVariableGroupIds)
但是现在我的Include()方法不起作用了:
无法解析符号'Include'。
如何将Include()
与session.Load()
一起使用?
修改
我找到了答案(请参阅下面的答案)。现在我试图找出这适用于新的session.Load()
方法:
.Customize(x => x.WaitForNonStaleResults()
答案 0 :(得分:3)
找到答案here。我需要在Include()
上使用session
,而不是Load()
。
session.Include<Application>(x => x.CustomVariableGroupIds)
.Load<Application>(id))