日期:2014-05-20  浏览次数:21050 次

关于Linq 删除多条数据的问题
 比如一个新闻模块   我要删除整个模块  那么相关的新闻也要删除   在linq下怎么做 ?   是不是只有用for循环?


  var q = from c in db.NewsType
                        where c.NewsType_Id == id
                        select c;
                var w = from c in db.News
                        where c.News_TypeId == id
                        select c;
                if (q.Count() > 0)
                {
                    for (int e = 0; e < w.Count(); e++)
                    {
                        db.News.DeleteOnSubmit(w.First());
                        db.SubmitChanges();
                    }
                    db.NewsType.DeleteOnSubmit(q.First());
                    db.SubmitChanges();
                    return true;
                }
                else
                {
                    return false;
                }
linq asp

------解决方案--------------------
可以的
循环里的db.SubmitChanges();可以去掉吧
在外面一次提交
------解决方案--------------------
不要把db.SubmitChanges();放到for里面,外面一次性提交就行
------解决方案--------------------
主从表在删除时,先删除从表,再删除主表