條件讓有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一無所知,但服務器端與它們協同工作,因爲這隻對數據庫發出一個請求。
我試圖看看如何工作索引和預測,但沒有運氣的一些結構。也許我的觀點是從關係數據庫變形,還有其他解決方案,需要我的結構重新定義...
我的其他解決方案是Obj1Id添加到Obj3,但這將使複製品(我可以忍受這一點; ))
一些額外的信息對象:
- OBJ1是爲每個客戶獨特的,所以有大約200個文件
- OBJ 2:OBJ 3是1:1點的兄弟姐妹,每個都有自己的角度視圖屬性,既約100.000每個客戶
獎金問題:有沒有像內部鏈接?在Obj2中包含Obj1? (這個我不會用,只是問題)
所以是我的解決方案與重複Obj1Id正確和乾淨? – sasjaq 2012-03-06 10:19:13