上の条件が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
}
私の質問があり、.Whereのようなものをクエリに追加する可能性があります(o2 => o2.Obj1Id == "some/Id")?クエリは、クライアント(LINQの)側のOBJ2について何も知らないが、これはDBへの唯一の要求を行うため、サーバー側では、彼らと一緒に動作します。
私は索引と投影をどのように動作させるかを試していますが、いくつかの構造では不運です。多分私の見解はリレーショナルデータベースから変形されており、私の構造が再定義される必要がある他の解決法があります...
私の他の解決策は、Obj3にObj1Idを追加することです。 ))
オブジェクトにいくつかの余分な情報:
- Obj1とは、顧客ごとに一意であるため、約200の文書
あり - OBJ2:OBJ3が1:、ビュープロパティの独自のポイントと1人の兄弟、それぞれの両方について各顧客の100.000
ボーナスの質問:Inclide連鎖のようなものがありますか? Obj2を含むことの中にObj1を含める? (私は使用しません、ちょうど質問です)
ので、正しいとクリーンObj1Id複製と私の解決策はありますか? – sasjaq