条件让有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