·Distinct - 过滤集合中的相同项;延迟 ·Union - 连接不同集合,自动过滤相同项;延迟 ·Concat - 连接不同集合,不会自动过滤相同项;延迟 ·Intersect - 获取不同集合的相同项(交集);延迟 ·Except - 从某集合中删除其与另一个集合中相同的项;延迟 ·Skip - 跳过集合的前n个元素;延迟 ·Take - 获取集合的前n个元素;延迟 ·SkipWhile - 直到某一条件成立就停止跳过;延迟 ·TakeWhile - 直到某一条件成立就停止获取;延迟 ·Single - 根据表达式返回集合中的某一元素;不延迟 ·SingleOrDefault - 根据表达式返回集合中的某一元素(如果没有则返回默认值);不延迟 ·Reverse - 对集合反向排序;延迟 ·SelectMany - Select选择(一对多);延迟
·First - 返回集合中的第一个元素;不延迟 ·FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟 ·Last - 返回集合中的最后一个元素;不延迟 ·LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值) ·ElementAt - 返回集合中指定索引的元素;不延迟 ·ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟 ·Contains - 判断集合中是否包含有某一元素;不延迟 ·Any - 判断集合中是否有元素满足某一条件;不延迟 ·All - 判断集合中是否所有元素都满足某一条件;不延迟 ·Count - 返回集合中的元素个数,返回int;不延迟 ·LongCount - 返回集合中的元素个数,返回long;不延迟 ·Sum - 集合应为数字类型集合,求其和;不延迟 ·Min - 返回集合的最小值;不延迟 ·Max - 返回集合的最大值;不延迟 ·Average - 集合应为数字类型集合,求其平均值;不延迟 ·Aggregate - 根据输入的表达式获取一个聚合值;不延迟 ·Cast - 将集合转换为强类型集合;延迟 ·DefaultIfEmpty - 查询结果为空则返回默认值;延迟 ·SequenceEqual - 判断两个集合是否相同;不延迟 ·OfType - 过滤集合中的指定类型;延迟 ·ToArray - 将集合转换为数组;不延迟 ·ToList - 将集合转换为List<T>集合;不延迟 ·ToDictionary - 将集合转换为<K, V>集合;不延迟
/**//// <summary> /// 事务处理(用DataContext.Connection.BeginTransaction()的方式做事务处理) /// </summary> private void TransactionDemo2() { int? categoryId = null; NorthwindDataContext ctx = new NorthwindDataContext(); if (ctx.Connection.State != ConnectionState.Open) { ctx.Connection.Open(); } System.Data.Common.DbTransaction tran = ctx.Connection.BeginTransaction(); ctx.Transaction = tran; try { ctx.AddCategory("test", "test", ref categoryId); ctx.DeleteCategory(1); tran.Commit(); } catch { tran.Rollback(); } } /**//// <summary> /// 事务处理(用System.Transactions.TransactionScope做事务处理),这种方法最好用在SQL2005中 /// </summary> private void TransactionDemo3() { int? categoryId = null; using (TransactionScope tc = new TransactionScope()) { try { NorthwindDataContext ctx = new NorthwindDataContext(); ctx.AddCategory("test", "test", ref categoryId); ctx.DeleteCategory(1); tc.Complete(); } catch { } } }