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
这是一个错误吗?如果没有,那么只选择我感兴趣的字段的正确方法是什么?
答案 0 :(得分:1)
如果您在.ToList
之前移动.Select
,它将工作,但这将在客户端上进行工作。
如果要在服务器上执行此操作,则需要在查询中使用As
,并且需要一个执行TransformResults
的静态索引。请参阅these docs。