2013-07-30 5 views
2

모델 클래스를 정의하지 않고 ravendb를 쿼리하는 방법이 있습니까? 일반적으로 모델을 정의하고 다음과 같은 쿼리를 발행합니다.모델 클래스를 정의하지 않고 ravendb에 쿼리 하시겠습니까?

public class Site 
{ 
    public string Title { get; set; } 
    public string URL { get; set; } 
    public string Notes { get; set; } 
} 

var documentStore = new Raven.Client.Document.DocumentStore{Url = "http://localhost:8080" }; 
documentStore.Initialize(); 
using (var session = documentStore.OpenSession()) 
{ 
    var sites = session.Query<Site>() 
        .Where(x => x.Title.StartsWith("CN")).ToList(); 
    for (int i = 0; i < sites.Count; i++) { 
     MessageBox.Show(sites[i].Title + " - " + sites[i].URL); 
    } 
} 

그러나 SQL 서버용으로 쿼리 할 수 ​​있습니까? 위의 예에서 쿼리를 실행하려면 Site 클래스를 선언해야합니다 (var sites = session.Query<Site>()). 이걸 실행하고 싶습니다. session.Query<"Site">()

이것도 가능합니까? 이 기능을 어떻게 설정할 수 있습니까?

답변

3

나는 당신이 얻으려는 문서 모음의 이름을 아는 한 당신이 시도하고있는 것을 성취하기 위해 데이터베이스 명령 (Query)을 사용할 수 있다고 생각합니다. 자세한 내용은 here을 참조하십시오.

QueryResult sites = store.DatabaseCommands.Query(
    "Sites/ByTitle", 
    new IndexQuery 
     { 
      Query = "Title:CN*" 
     }, null); 
+0

이 쿼리를 테스트하려고하지만 어떤 쿼리 쿼리 메서드가 있는지 확실하지 않습니다. 그것은 정의되지 않은 방법으로 나를 보여줍니다. 그리고 나는 모든 축하 클라이언트가 너겟으로부터 들어 왔습니다. –

+0

좋아, Lucene 패키지에 있었어. –

+0

감사합니다. 정상적으로 작동합니다. –

관련 문제