2012-08-29 3 views
1

와 개인/보호 속성의 투영을 만드는 방법 . 어떤 종류의 읽기 전용 쿼리를 컬렉션에서 사용하려면 인덱스를 사용하여 어떻게 수행해야합니까? (실제로 어떤 해결책이든 인덱스를 사용하지 않더라도 열어 본다.)나는 그런</p> <pre><code>public class Foo { private int Id { get; set; } private string Bar { get; set; } private string Baz { get; set; } } </code></pre> <p>등의 개인 특성 아무것도하지만 객체를 가지고는 이러한 속성을 저장합니다, 까마귀에 저장하고 모든 마법처럼 작동하는 경우 RavenDb

분명히 개인 액세스로 인해 식 액세스가 불가능하고 다이나믹을 사용할 수 없다 :

public class Foo_LineItems : AbstractIndexCreationTask<Foo, FooLineItem> 
{ 
    public Foo_LineItems() 
    { 
     Map = foos => foos.Where (x => x.Baz == null) 
          .Select (x => new { x.Id, x.Bar }); 
    } 
} 

나는 뭔가를 간과했지만 웹 검색을하고 있으며이 특정 질문에 대한 답변을 찾을 수 없습니다. 분명한 대답은 CQRS를 사용하여 읽기 및 쓰기를 분리하고 실제로 원시 도메인 객체를 유지하지 않는 것입니다. (이 까마귀와 CQS 그냥 실험입니다.) 우리는이 작업을 수행하는 유형이 지정되지 않은 API가

답변

1

: 내가 필요

public class Foo_LineItems : AbstractIndexCreationTask 
{ 
    public override IndexDefinition CreateIndexDefinition() 
    { 
     return new IndexDefinition 
     { 
      Map = @" 
        from foo in docs.Foos 
        where foo.Baz == null 
        select new { foo.Id, foo.Bar } 
" 
     }; 
    } 
} 
+0

정확히 무엇을. 고마워요! –

관련 문제

 관련 문제