에 조건이 theese 객체가 있습니다 : 내가 사용RavenDB - 포함 개체
public class Obj1
{
public string Id { get; set; }
}
public class Obj2
{
public string Id { get; set; }
public string Obj1Id { get; set; }
}
public class Obj3
{
public string Id { get; set; }
public string Obj2Id { get; set; }
}
는 다음과 같습니다
var objs3 = session.Query<Obj3>()
.Customize(x => x.Include<Obj3>(o3 => o3.Obj2Id))
.Take(1000)
.ToList();
foreach (var obj3 in objs3)
{
var obj2 = session.Load<Obj2>(obj3.Obj2Id);
//do something with it
}
내 질문은 어디에요 같은 것을 쿼리에 추가 할 가능성이 (o2 => o2.Obj1Id == "some/Id")? 쿼리는 클라이언트 (Linq) 측에서 Obj2에 대해 아무 것도 모릅니다. 그러나 DB 측에 한 번만 요청하기 때문에 서버 측에서도이를 사용합니다.
나는 인덱스와 투영법을 연구하는 방법을 시도하지만, 어떤 구조에서는 운이 없다. 어쩌면 내 관점 관계형 데이터베이스에서 변형 된 내 구조를 다시 정의해야하는 다른 솔루션이 있습니다 ...
내 다른 솔루션 Obj3 추가 할 수 있지만 Obj1Id 추가 할 것입니다 duplicites 수 있습니다.))
개체에 대한 일부 추가 정보 :
- OBJ1 각 고객에 대해 고유하므로 약 200 문서
이 - obj2보다 : OBJ3가 1 : 뷰 특성의 자신의 포인트 1 형제 자매, 각각의 양에 대한 고객 당 100.000
보너스 질문 : Inclide chaining과 같은 것이 있습니까? Obj1을 포함하여 Obj1 포함? (이건 내가 사용하지 않겠다는 것입니다.)
그래서 정확하고 깨끗한 Obj1Id 복제 내 솔루션은 무엇입니까? – sasjaq