1> 排序信息丟失
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供桂陽網(wǎng)站建設(shè)、桂陽做網(wǎng)站、桂陽網(wǎng)站設(shè)計(jì)、桂陽網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、桂陽企業(yè)網(wǎng)站模板建站服務(wù),十多年桂陽做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
如果在排序操作之后執(zhí)行了任何其他操作,則不能保證這些附加操作中會保留排序結(jié)果。這些操作包括 Select 和 Where 等。另外,采用表達(dá)式作為輸入?yún)?shù)的 First 和 FirstOrDefault 方法不保留順序。
如下代碼:并不能達(dá)到反序排序的效果
using (var edm = new NorthwindEntities()) { IQueryablecc = edm.Customers.OrderByDescending(c => c.CustomerID).Where(c => c.Region != null).Select(c => c); foreach (var c in cc) Console.WriteLine(c.CustomerID); }
2> 不支持無符號整數(shù)
由于 實(shí)體框架不支持無符號整數(shù),因此不支持在 LINQ to Entities 查詢中指定無符號整數(shù)類型。如果指定無符號整數(shù),則在查詢表達(dá)式轉(zhuǎn)換過程中會引發(fā) NotSupportedException異常,并顯示無法創(chuàng)建類型為“結(jié)束類型”的常量值。此上下文僅支持基元類型(“例如 Int32、String 和 Guid”)。
如下將會報(bào)異常的代碼:
using (var edm = new NorthwindEntities()) { uint id = UInt32.Parse("123"); IQueryableprodut = from p in edm.Products where p.UnitPrice == id select p.ProductName; foreach (string name in produt) Console.WriteLine(name); }
上面的代碼中,由于id是uint而不是Int32,String,Guid的標(biāo)量類型,所以在執(zhí)行到where p.UnitPrice ==id這個地方時(shí),會報(bào)異常。
3> 不支持引用非標(biāo)量閉包
不支持在查詢中引用非標(biāo)量閉包(如實(shí)體)。在執(zhí)行這類查詢時(shí),會引發(fā) NotSupportedException 異常,并顯示消息“無法創(chuàng)建類型為“結(jié)束類型”的常量值。此上下文中僅支持基元類型(‘如 Int32、String 和 Guid’)
如下將會報(bào)異常的代碼:
using (var edm = new NorthwindEntities()) { Customers customer = edm.Customers.FirstOrDefault(); IQueryablecc = from c in edm.Customers where c == customer select c.ContactName; foreach (string name in cc) Console.WriteLine(name); }
上面的代碼中,由于customer是引用類型而不是Int32,String,Guid的標(biāo)量類型,所以在執(zhí)行到where c==customer這個地方時(shí),會報(bào)異常。