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

关于linq的删除的问题
我记得以前做的时候,把表拖到一个dbml文件中,然后删除的时候有一个DeleteAllOnSubmit(查询结果)这样的方法,就可以删除所有查询出来的结果了。但是现在当我把数据表放到edmx文件的时候,就没有DeleteAllOnSubmit这个方法了,就一个remove,难道时能遍历,然后再一条条地删除吗?那也太慢了。求大神帮忙指导一下linq中删除的方法

public static void DelMarcByBatch(string strBatch)
        {
            using (TYLAS5Entities t = new TYLAS5Entities())
            {
                var result = from x in t.T_BaseMarc
                             where x.Batch == strBatch
                             select x;
             
                    var delItem = result.First();
                    t.T_BaseMarc.Remove(delItem);
                
                t.SaveChanges();
            }
        }
linq 删除

------解决方案--------------------
数据量不大的话,foreach结合 DeleteObject方法即可

linq to sql才支持 DeleteAllOnSubmit