[知识分享] LINQ TO SQL 实现无限递归查询
--------------------编程问答-------------------- 感谢分享。之前我也回答过一个类似的,也贴出来:
http://topic.csdn.net/u/20120113/23/81633fdd-f23c-434a-aecd-0c669cf32c9d.html --------------------编程问答-------------------- 路过,支持一下! --------------------编程问答-------------------- --------------------编程问答-------------------- 牛逼 给分儿 --------------------编程问答-------------------- 支持一下子 --------------------编程问答-------------------- 支持一下下 --------------------编程问答-------------------- 我喜欢。。。 --------------------编程问答-------------------- 不错的分享,学习 --------------------编程问答-------------------- 支持一下! --------------------编程问答-------------------- 不错不错 --------------------编程问答-------------------- 支持一下子 --------------------编程问答-------------------- http://passport.csdn.net/account/resetpassword?user=tianyaono1&active=1BTXp9dReW4ZEM8MKyS83HHC17G3RpBPpSGY0LcotxI=0
--------------------编程问答-------------------- 见论坛内有网友提问类似的问题已经不止一次了,
现总结一下,希望能给以后再碰到此类问题的朋友一些帮助 --------------------编程问答-------------------- 非常不错,再次受教了,楼主要多多发些这样的帖子 --------------------编程问答-------------------- --------------------编程问答-------------------- 这个以前我都是直接用sql。
用linq试下去 --------------------编程问答-------------------- 功能很强大 --------------------编程问答-------------------- --------------------编程问答-------------------- 非常不错,非常不错, --------------------编程问答-------------------- 不错,很好,很强大,路过学习一下 --------------------编程问答-------------------- 不错,很好,很强大,路过学习一下 --------------------编程问答-------------------- 恩 学习下
顺带问下 这样的无限递归是用传统的编程SQL快还是LINQ
对LINQ 用的少 请督察说说 --------------------编程问答--------------------
WITH temp
AS
(
SELECT * FROM [Tim_LinqTable] WHERE Parent = 3
UNION ALL
SELECT m.* FROM [Tim_LinqTable] AS m
INNER JOIN temp AS child ON m.Parent = child.Id
)
SELECT * FROM temp
GO
这段代码看不懂 --------------------编程问答-------------------- 非常不错,路过学习一下 --------------------编程问答-------------------- 支持,学习学习。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答--------------------
very 固 --------------------编程问答-------------------- 标记,支持! --------------------编程问答-------------------- --------------------编程问答-------------------- 非常不错,再次受教了,多谢楼主 --------------------编程问答-------------------- 收藏。。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- LINQ给力! --------------------编程问答-------------------- --------------------编程问答-------------------- 收藏. --------------------编程问答-------------------- 收藏. --------------------编程问答-------------------- 非常好,学习了 --------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- 非常不错,再次受教了 --------------------编程问答-------------------- 学习~哈~ --------------------编程问答-------------------- 学习了。之前虽然也是用LINQ做递归,但是代码没这么简洁。 --------------------编程问答-------------------- 不错的 --------------------编程问答-------------------- 不错的 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 我记得还有一种只读取一次数据库的更高效的算法 --------------------编程问答--------------------
有的,就是将SQL语句封装成存储过程来实现 --------------------编程问答-------------------- 厉害,非常厉害,这样也行哇 --------------------编程问答-------------------- --------------------编程问答-------------------- 好东东,感谢楼主 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 好!还能接到分 --------------------编程问答-------------------- 受教了, --------------------编程问答-------------------- 关系,学习了 --------------------编程问答--------------------
只会让别人给结论,自己不会测吗?
判断一下这种“快、慢”差别到底值几毛钱? --------------------编程问答--------------------
其实有一种方法,就是将数据库按照二进制读取到内存中(你需要有几十G内存),然后按照数据库文件的磁盘块组织方式自己写文件解析程序,解析出所有数据,再去判断。 --------------------编程问答-------------------- 谢谢楼主分享 --------------------编程问答-------------------- 谢谢楼主分享,拿走了 --------------------编程问答-------------------- 感觉Linq是将谁都看的懂的sql写成鬼都看不懂 --------------------编程问答--------------------
呵呵。。。能看的懂SQL的鬼也不多啊。。。 --------------------编程问答-------------------- 感谢楼主分享! --------------------编程问答-------------------- --------------------编程问答-------------------- thankyou!!!!!! --------------------编程问答-------------------- --------------------编程问答-------------------- 感谢分享,学习! --------------------编程问答-------------------- 谢谢楼主分享! --------------------编程问答-------------------- --------------------编程问答-------------------- up~!谢谢分享 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 支持一下子 --------------------编程问答-------------------- --------------------编程问答-------------------- 谢谢分享! --------------------编程问答-------------------- 好贴必须顶! --------------------编程问答-------------------- --------------------编程问答-------------------- 支持一下下 --------------------编程问答-------------------- 这个如何
--------------------编程问答-------------------- 效率太差啊。
/// <summary>
/// 对于可以树型化的数据进行树型化
/// </summary>
/// <typeparam name="T">需要树型化的数据类名</typeparam>
/// <param name="collection">顶级树形集合</param>
/// <param name="action">项处理过程</param>
/// <param name="func">次级栏目获取方法</param>
/// <param name="depth">深度,默认从0开始</param>
public void CTree(IQueryable<T> collection, Action<T, int> action, Func<T, IQueryable<T>> func, int depth = 1)
{
foreach (var t in collection)
{
action(t, depth);
var list = func(t);
CTree(list, action, func, depth + 1);
}
}
#endregion
我写存储过程从10万多条数据中检索321条的一棵树(仅知道树根),只有2秒左右,在我笔记本上。用这种方式在LinqPad中要21秒。
用了EF,还要写存储过程,难过啊,有没有更好的办法呢? --------------------编程问答-------------------- 学习中!
有朋友能指点一下如何做清除panel1中TextBox吗?
TextBox是以动态的添加到panel1中的,TextBox命有
Memo01,Memo02,Memo03....
Money01,Money02,Money03...
最好是能详细的注明代码作用!非常感谢! --------------------编程问答-------------------- 学习中~谢谢分享! --------------------编程问答-------------------- --------------------编程问答--------------------
鬼看懂SQL,看不懂LINQ,人都变成鬼了.. --------------------编程问答-------------------- 支持楼主啦...... --------------------编程问答-------------------- 支持楼主啦...... --------------------编程问答--------------------
那就继续使用存储过程。。用了EF,也不能放弃了存储过程 --------------------编程问答-------------------- 看不太懂LINQ啊,看来要去学习下了。
补充:.NET技术 , LINQ