Performance 如何在ORM中高效地映射集合?
我有一个包含两个实体的简单模型:Performance 如何在ORM中高效地映射集合?,performance,orm,Performance,Orm,我有一个包含两个实体的简单模型: Post实体-聚合根目录,可以有注释->注释列表 注释实体 添加新评论时,我们可以这样说: post.Comments.Add(newComment); 在添加新注释之前,系统将请求选择加载所有现有注释。但是如果有成百上千的评论,那么它是沉重的权利。有可能避免负载吗?谢谢你的建议。这是ORMs的一个经典问题。这里没有银弹 如果您提前加载所有注释,您将导致大量带宽浪费,因为可能不需要所有注释 另一方面,如果您没有提前加载评论,而有人会这样做: for(var
- Post实体-聚合根目录,可以有注释->注释列表
- 注释实体
post.Comments.Add(newComment);
在添加新注释之前,系统将请求选择加载所有现有注释。但是如果有成百上千的评论,那么它是沉重的权利。有可能避免负载吗?谢谢你的建议。这是ORMs的一个经典问题。这里没有银弹 如果您提前加载所有注释,您将导致大量带宽浪费,因为可能不需要所有注释 另一方面,如果您没有提前加载评论,而有人会这样做:
for(var i = 0; i < 100; i++){
doSomethingWith(post.Comments[i]);
}
for(变量i=0;i<100;i++){
doSomethingWith(post.Comments[i]);
}
您从数据库中获取了100次数据,这实际上导致了错误
因此,这是一个固执己见的设计选择,一些ORM将只获取帖子,其他ORM将包含特殊语法,如
。include
,这表明您也对注释感兴趣,一些ORM将完全忽略这一点,并浪费请求 您担心插入新注释的性能,因此以下选项可能会有所帮助: