·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
{ }
}
}