首页 新闻 搜索 专区 学院

LINQ TO SQL

0
悬赏园豆:5 [已解决问题] 解决于 2014-05-16 11:39
var tags = from tag in db.File_Tag select tag;
                        foreach (var item in tags)
                        {
                            if (item.TagPath==null)
                            {
                                string fileId = item.Id.ToString();
                                Guid? thisId=item.ParentId;
                                bool istrue = true;
                                do
                                {
                                    var _lists = from tag in tags where tag.Id == thisId select tag;
                                    if (_lists.Count()>0)
                                    {
                                        foreach (var i in _lists)
                                        {
                                            fileId = i.Id.ToString() + "/" + fileId;
                                            thisId = i.ParentId;
                                        }
                                    }
                                    else
                                    {
                                        istrue = false;
                                    }
                                } while (istrue);

                                item.TagPath = fileId;
                                
                            }
                        }

为什么执行到第二曾循环的 

if (_lists.Count()>0) 报错,并且
_lists != null 也试过了,同样不行,刚使用LINQ TO SQL,
希望帮忙解答,
小弟再此感激不尽
David.Yun的主页 David.Yun | 初学一级 | 园豆:11
提问于:2014-05-16 00:48
< >
分享
最佳答案
0

改成tags.Count(x=>x.thisId)>0试下。

收获园豆:5
幻天芒 | 高人七级 |园豆:36662 | 2014-05-16 09:45

这个好像不行 

David.Yun | 园豆:11 (初学一级) | 2014-05-16 10:08

@David.Yun: 你写错了,按照你的写法,_list.Count()这样就是了

幻天芒 | 园豆:36662 (高人七级) | 2014-05-16 10:10

@幻天芒: 嗯,但是执行.count() 就报错了

David.Yun | 园豆:11 (初学一级) | 2014-05-16 10:39

@幻天芒: 已经解决了。我把 tags 转为LIST 通过 list.where 去实现

David.Yun | 园豆:11 (初学一级) | 2014-05-16 11:39

@David.Yun: List的话,用属性Count就行。

幻天芒 | 园豆:36662 (高人七级) | 2014-05-16 13:39
其他回答(2)
0

if (_lists.Count>0) 这里的_lists.Count是属性吧,没有括号

刘宏玺 | 园豆:14006 (专家六级) | 2014-05-16 09:22
0

if (tags.Any(m=>m.id==thisId))

吴瑞祥 | 园豆:28891 (高人七级) | 2014-05-16 11:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册