2013-05-07 66 views
1
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 

這是一個錯誤?如果不是,那麼只選擇我感興趣的領域的正確方法是什麼?RavenDb選擇()向下而不是選擇必要的字段

回答

1

它會工作如果您在.Select之前移動.ToList,但這將在客戶端上完成工作。

如果要在服務器上執行此操作,則需要在查詢中使用As,並且需要執行TransformResults的靜態索引。見these docs