网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

LINQtoEntities查询注意事项

1> 排序信息丢失

成都创新互联专业为企业提供桂阳网站建设、桂阳做网站、桂阳网站设计、桂阳网站制作等企业网站建设、网页设计与制作、桂阳企业网站模板建站服务,十多年桂阳做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

如果在排序操作之后执行了任何其他操作,则不能保证这些附加操作中会保留排序结果。这些操作包括 Select 和 Where 等。另外,采用表达式作为输入参数的 First 和 FirstOrDefault 方法不保留顺序。
如下代码:并不能达到反序排序的效果

LINQ to Entities 查询注意事项

using (var edm = new NorthwindEntities())
{
     IQueryable cc = edm.Customers.OrderByDescending(c => c.CustomerID).Where(c => c.Region != null).Select(c => c);     foreach (var c in cc)
          Console.WriteLine(c.CustomerID);
}

LINQ to Entities 查询注意事项

2> 不支持无符号整数

由于 实体框架不支持无符号整数,因此不支持在 LINQ to Entities 查询中指定无符号整数类型。如果指定无符号整数,则在查询表达式转换过程中会引发 NotSupportedException异常,并显示无法创建类型为“结束类型”的常量值。此上下文仅支持基元类型(“例如 Int32、String 和 Guid”)。
如下将会报异常的代码:

LINQ to Entities 查询注意事项

using (var edm = new NorthwindEntities())
 {      uint id = UInt32.Parse("123");
      IQueryable produt = from p in edm.Products                                  where p.UnitPrice == id                                  select p.ProductName;      foreach (string name in produt)
            Console.WriteLine(name);
}

LINQ to Entities 查询注意事项

上面的代码中,由于id是uint而不是Int32,String,Guid的标量类型,所以在执行到where p.UnitPrice ==id这个地方时,会报异常。

3> 不支持引用非标量闭包

不支持在查询中引用非标量闭包(如实体)。在执行这类查询时,会引发 NotSupportedException 异常,并显示消息“无法创建类型为“结束类型”的常量值。此上下文中仅支持基元类型(‘如 Int32、String 和 Guid’)
如下将会报异常的代码:

LINQ to Entities 查询注意事项

using (var edm = new NorthwindEntities())
 {
        Customers customer = edm.Customers.FirstOrDefault();
        IQueryable cc = from c in edm.Customers                                where c == customer                                select c.ContactName;         foreach (string name in cc)
               Console.WriteLine(name);
}

LINQ to Entities 查询注意事项

上面的代码中,由于customer是引用类型而不是Int32,String,Guid的标量类型,所以在执行到where c==customer这个地方时,会报异常。


网页题目:LINQtoEntities查询注意事项
网站地址:http://bjjierui.cn/article/psjiho.html

其他资讯