RavenDB:仅阻止尝试按id查询。现在Include()不起作用

时间:2013-04-21 22:04:17

标签: ravendb

很长一段时间以来,这段代码一直很适合我:

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()

1 个答案:

答案 0 :(得分:3)

找到答案here。我需要在Include()上使用session,而不是Load()

session.Include<Application>(x => x.CustomVariableGroupIds)
    .Load<Application>(id))