为了在RavenDB
查询中使用和执行转换器,我遇到了一些奇怪的行为。
假设一个类Member
,那是相当长而冗长的......
class Member {
// ...
// Lots of properties, methods
}
我只是想得到一个更轻量级的结果。所以我声明了一个较小的班级。
public class MiniMember {
public string Id { get; set; }
public string Name { get; set; }
}
并尝试使用AbstractTransformerCreationTask<T>
.
public class MemberByNameList : AbstractTransformerCreationTask<Member> {
public MemberByNameList() {
TransformResults = members => from member in members
select new MiniMember {
Id = member.Id,
Name = member.Name
};
}
}
这在服务器端 Studio UI 上运行良好,但是当我尝试在我的.NET
代码中执行此操作时,我遇到了问题。
var members = DocumentSession
.Query<Member>()
.TransformWith<Indexes.MemberByNameList, MiniMember>()
.Take(512)
.ToList();
有人告诉我,Member
不能投到课堂MiniMember
上。
我非常仔细地遵循了 RavenDB 文档中的示例,但仍然收到这个结果,所以我对此感到非常困惑。