RavenDb Select()将下拉,而不是选择必要的字段 公共类个人简介 { 公共int Id{get;set;} 公共字符串图片{get;set;} 公众人物简介(个人) { Id=person.Id; 图片=人。图片; } } 公共类人士:PersonBrief { 公共字符串全名{get;set;} } var results=session.Query() .选择(x=>newpersonbrief(x)) .ToList(); Assert.IsNull(结果[0]为Person);//失败

RavenDb Select()将下拉,而不是选择必要的字段 公共类个人简介 { 公共int Id{get;set;} 公共字符串图片{get;set;} 公众人物简介(个人) { Id=person.Id; 图片=人。图片; } } 公共类人士:PersonBrief { 公共字符串全名{get;set;} } var results=session.Query() .选择(x=>newpersonbrief(x)) .ToList(); Assert.IsNull(结果[0]为Person);//失败,ravendb,Ravendb,这是虫子吗?如果没有,那么只有选择我感兴趣的字段的正确方法是什么?如果您将.ToList移动到之前,它会起作用。选择,但这将在客户端上执行 如果要在服务器上执行此操作,需要在查询中使用As,并且需要一个执行转换结果的静态索引。请参阅。如果您将.ToList移动到之前,它将起作用。选择,但这将在客户端上完成工作 如果要在服务器上执行此操作,需要在查询中使用As,并且需要一个执行转换结果的静态索引。看 public class PersonBrief { public int Id { ge

这是虫子吗?如果没有,那么只有选择我感兴趣的字段的正确方法是什么?

如果您将
.ToList
移动到
之前,它会起作用。选择
,但这将在客户端上执行

如果要在服务器上执行此操作,需要在查询中使用
As
,并且需要一个执行
转换结果的静态索引。请参阅。

如果您将
.ToList
移动到
之前,它将起作用。选择
,但这将在客户端上完成工作

如果要在服务器上执行此操作,需要在查询中使用
As
,并且需要一个执行
转换结果的静态索引。看

public class PersonBrief
{
    public int Id { get; set; }
    public string Picture { get; set; }

    public PersonBrief(Person person)
    {
        Id = person.Id;
        Picture = person.Picture;
    }
}

public class Person : PersonBrief
{
    public string FullName { get; set; }
}

var results = session.Query<Person>()
   .Select(x => new PersonBrief(x))
   .ToList();

Assert.IsNull(results[0] as Person); // Fails