首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询中的RavenDB异常-方法未找到:'Void RavenDB

查询中的RavenDB异常-方法未找到:'Void RavenDB
EN

Stack Overflow用户
提问于 2012-07-01 03:20:45
回答 1查看 937关注 0票数 1

在刷新模型的foreach循环中,我得到以下异常,因为它试图通过查询撤回的结果进行枚举。我一直未能在互联网上找到任何与此错误有关的信息。有人能指出我做错了什么吗?

System.MissingMethodException未被处理 找不到Message=Method:'Void Message=MethodSource=Raven.Client.Lightweight StackTrace: 在Raven.Client.Document.AbstractDocumentQuery2.GenerateIndexQuery(String query) at Raven.Client.Document.AbstractDocumentQuery2.InitializeQueryOperation(Action2 setOperationHeaders) in c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Document\AbstractDocumentQuery.cs:line 399 at Raven.Client.Document.AbstractDocumentQuery2.InitSync() ( c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Document\AbstractDocumentQuery.cs:line 434 ) 在Raven.Client.Document.AbstractDocumentQuery2.get\_QueryResult() in c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Document\AbstractDocumentQuery.cs:line 421 at Raven.Client.Linq.RavenQueryProviderProcessor1.ExecuteQueryTProjection ( c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Linq\RavenQueryProviderProcessor.cs:line 1263 ) ( at Raven.Client.Linq.RavenQueryProviderProcessor1.Execute(Expression expression) in c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Linq\RavenQueryProviderProcessor.cs:line 1244 at Raven.Client.Linq.RavenQueryProvider1.Execute(Expression表达式)在c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Linq\RavenQueryProvider.cs:line 138中 在Raven.Client.Linq.RavenQueryProvider1.System.Linq.IQueryProvider.Execute(Expression expression) in c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Linq\RavenQueryProvider.cs:line 195 at Raven.Client.Linq.RavenQueryInspector1.GetEnumerator() in c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Linq\RavenQueryInspector.cs:line 97 在AdminPanel.RefreshModel()在C:\AdminPanel\AdminPanel.xaml.cs:line 111号

代码语言:javascript
复制
private void RefreshModel()
{
    MainModel.Movies.Clear();
    foreach (FriendlyName movie in App.Database.QueryAllMovies())
    {
        MainModel.Movies.Add(movie);
    }
}

public IEnumerable<FriendlyName> QueryAllMovies()
{
    using (var session = DocumentStore.OpenSession())
    {
        return session.Query<Movie, Movies_AsFriendlyName>().As<FriendlyName>();
    }
}

class Movies_AsFriendlyName : AbstractIndexCreationTask<Movie>
{
    public Movies_AsFriendlyName()
    {
        Map = movies => movies.Select(movie => new { Id = movie.Id, Name = movie.FileName });

        TransformResults = (database, movies) => movies.Select(movie => new { Id = movie.Id, Name = movie.FileName });
    }
}

public class FriendlyName
{
    public string Name { get; set; }
    public string Id { get; set; }

    public FriendlyName(string id, string name)
    {
        Id = id;
        Name = name;
    }

    public override string ToString()
    {
        return Name;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2012-07-01 03:44:54

通常,当您有这样的东西时,您是针对一个版本编译的,但是它试图使用的dll是另一个版本。

我敢打赌,如果你看看程序运行的地方和编译的地方之间的版本,它们是不同的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11279309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档