有实体如下:
public class Question { public long Idx { get; set; } public string Name { get; set; } public long PIdx { get; set; } }
我想查询 pidx是 1 下的所有Question 该如何组织linq语句可以达到最快速的效果?
我主要是在思考能不能用linq to sql 的any 实现 exists 做到递归查询的功能
不是所有的问题都可以用linq to sql来解决,既然你已经是大数据量了,那么就应该考虑这时候使用linq to sql是否合理。大数据量,还是搞个function或者sp,直接来查询比较靠谱。
假如这里pidx是 1 下的所有Question的数量上千级的话,我认为这里你更需要的考虑的是设计上是否需要考虑避免频繁从数据库获取大量数据的问题。建议考虑把结果集以树形结构存储到缓存中,这样可以可以减少数据库的查询次数和频繁的树形结构组装的过程。
用Linq的话功能是可以实现的