현재 나는 no-SQL을 기반으로하는 응용 프로그램을 개발하고 있습니다 (raven db 사용). 이 응용 프로그램의 핵심은 많은 노드, 하위 노드 등이있는 트리 같은 데이터 구조입니다.녹아웃 js와 레이븐 DB
현재 각 노드 또는 하위 노드는 C# 개체로 나타냅니다. 상위 - 하위 관계는 상위 노드의 하위 노드 모음 인 전진 전용 관계로 만들어집니다.
모든 것은 각 데이터 유형에 대해 적절한 GET 및 POST를 사용하여 Mvc 응용 프로그램의 임시 양식에 의해 처리됩니다. 전체 그래프는 Raven DB에 JSON으로 저장됩니다.
목표는 knockoutjs를 사용하여 UI 부분을 수정하는 것입니다. KO는 json 데이터 구조와도 잘 작동하기 때문에 ravendb json 구조를 "녹아웃 (knockout) 호환"으로 만드는 방법이 있는지 궁금합니다. KO 고유 구조를 만들 필요없이 직접 사용할 수 있습니다 (관측 가능 등 구현) 그 다음이 둘 사이의 매핑을 만듭니다.
객체 그래프의 샘플 :
물건이 UI에 업데이트되는 후public class NodeA
{
public string Name {get;set;}
public List<SubNode> Childs {get;set;}
}
public class SubNode
{
public string Name {get;set;}
public bool SomeBool {get;set;}
}
public class NodeB
{
public string Name {get;set;}
public int SomeInt {get;set;}
}
public class GraphToStore
{
public List<NodeA> NodeAList {get;set;}
public List<NodeB> NodeBList {get;set;}
}
읽기/쓰기 부분은 여전히 아약스 호출로, 서버 측 처리 할 것입니다. 유효성 검사는 서버 쪽에서 수행되며 ajax 호출을 통해 클라이언트에 반환됩니다. 내 문제는 내가 ravendb json을 knockoutjs와 함께 사용한다고 말한 것입니다. 그렇지 않으면 모든 것을 재구성하고 매핑해야하며 그래프는 거대합니다 (50+ 클래스).
나는 Raven DB에 대해 아무런 경험이 없다.하지만 JSON이 생성 된 JSON이 NewtonSoft.Json.JsonConvert.SerializeObject (Object)의 리턴과 비슷하게 보이면 아무 문제가 없을 것이다. –